github.com/diadata-org/diadata@v1.4.593/pkg/utils/getenv.go (about) 1 package utils 2 3 import ( 4 "os" 5 "strconv" 6 ) 7 8 func Getenv(key, fallback string) string { 9 value := os.Getenv(key) 10 if len(value) == 0 { 11 return fallback 12 } 13 return value 14 } 15 16 func IsEnvExist(key string) bool { 17 if _, ok := os.LookupEnv(key); ok { 18 return true 19 } 20 return false 21 } 22 23 func GetenvUint(key string, fallback uint) uint { 24 value := os.Getenv(key) 25 if value == "" { 26 return fallback 27 } 28 29 uint64Val, err := strconv.ParseUint(value, 10, 64) 30 if err != nil { 31 log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err) 32 return fallback 33 } 34 35 return uint(uint64Val) 36 } 37 38 func GetenvBool(key string, fallback bool) bool { 39 value := os.Getenv(key) 40 if value == "" { 41 return fallback 42 } 43 boolValue, err := strconv.ParseBool(value) 44 if err != nil { 45 log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err) 46 return fallback 47 } 48 return boolValue 49 } 50 51 func GetenvInt(key string, fallback int) int { 52 value := os.Getenv(key) 53 if value == "" { 54 return fallback 55 } 56 intValue, err := strconv.ParseInt(value, 10, 32) 57 if err != nil { 58 log.Printf("Error parsing %s, using default value %d: %v", key, fallback, err) 59 return fallback 60 } 61 return int(intValue) 62 }