envconst: support for int64

This commit is contained in:
Christian Schwarz 2018-12-30 20:43:51 +01:00
parent ea719f5b5a
commit 25c974f0b5

View File

@ -2,6 +2,7 @@ package envconst
import (
"os"
"strconv"
"sync"
"time"
)
@ -23,3 +24,19 @@ func Duration(varname string, def time.Duration) time.Duration {
cache.Store(varname, d)
return d
}
func Int64(varname string, def int64) int64 {
if v, ok := cache.Load(varname); ok {
return v.(int64)
}
e := os.Getenv(varname)
if e == "" {
return def
}
d, err := strconv.ParseInt(e, 10, 64)
if err != nil {
panic(err)
}
cache.Store(varname, d)
return d
}