package main
import (
"fmt"
"os"
"strconv"
"time"
)
func envStr(key, def string) string {
if v, ok := os.LookupEnv(key); ok { return v }
return def
}
func envInt(key string, def int) int {
if v, ok := os.LookupEnv(key); ok {
if n, err := strconv.Atoi(v); err == nil { return n }
}
return def
}
func envBool(key string, def bool) bool {
if v, ok := os.LookupEnv(key); ok {
if b, err := strconv.ParseBool(v); err == nil { return b }
}
return def
}
func envDuration(key string, def time.Duration) time.Duration {
if v, ok := os.LookupEnv(key); ok {
if d, err := time.ParseDuration(v); err == nil { return d }
}
return def
}
func main() {
port := envInt("PORT", 8080)
debug := envBool("DEBUG", false)
timeout := envDuration("HTTP_TIMEOUT", 5*time.Second)
name := envStr("APP_NAME", "myapp")
fmt.Printf("port=%d debug=%t timeout=%s name=%s\n", port, debug, timeout, name)
}
Create a free account and build your private vault. Share publicly whenever you want.