package config import ( "log" "os" "strings" "github.com/joho/godotenv" ) var Mode string var Host string var Url string var Email string func loadEnv(target *string, name, defaultValue string) { value := os.Getenv(name) if len(strings.TrimSpace(value)) == 0 { *target = defaultValue } else { *target = value } log.Printf("%s = %v", name, *target) } func Load() { godotenv.Load() log.SetFlags(log.Ldate | log.Ltime | log.Lshortfile) loadEnv(&Mode, "MODE", "production") loadEnv(&Host, "HOST", "localhost:4000") loadEnv(&Url, "URL", "http://localhost:3000") loadEnv(&Email, "EMAIL", "mail@example.org") }