Files
be-service-qris/internal/utils/env.go
2025-08-17 07:10:56 +07:00

43 lines
1.0 KiB
Go

package utils
import (
"os"
"strconv"
"time"
)
// GetEnv retrieves environment variable with fallback
func GetEnv(key, defaultValue string) string {
if value := os.Getenv(key); value != "" {
return value
}
return defaultValue
}
// GetEnvAsInt retrieves environment variable as integer with fallback
func GetEnvAsInt(key string, defaultValue int) int {
valueStr := GetEnv(key, "")
if value, err := strconv.Atoi(valueStr); err == nil {
return value
}
return defaultValue
}
// GetEnvAsBool retrieves environment variable as boolean with fallback
func GetEnvAsBool(key string, defaultValue bool) bool {
valueStr := GetEnv(key, "")
if value, err := strconv.ParseBool(valueStr); err == nil {
return value
}
return defaultValue
}
// GetEnvAsDuration retrieves environment variable as duration with fallback
func GetEnvAsDuration(key string, defaultValue time.Duration) time.Duration {
valueStr := GetEnv(key, "")
if value, err := time.ParseDuration(valueStr); err == nil {
return value
}
return defaultValue
}