env
go environment/flag variable management.
Priority:
- flag > environment > default
package main
import "github.com/jklaw90/env"
func main() {
config := env.NewConfig(env.OptionPanicOnMissing, env.OptionLogOn). // define options here
AddEnv("KEY", "value", "description here").
AddEnv("DEBUG", "true", "some bool for xyz").
AddEnv("OVER", "9000", "some int").
AddFlagEnv("FLAG_CASE", "flagcase", "special", "special env name") // will use flag if specified
env := env.New(config)
// examples
println(env.Get("KEY")) // "value" unless environment var defined for KEY
println(env.GetBool("DEBUG")) // true unless environment var defined for DEBUG
println(env.GetInt("OVER")) // 9000 unless environment var defined for OVER
println(env.Get("FLAG_CASE")) // "special" unless environment var defined for FLAG_CASE or flagcase flag was set
println(env.Get("SLKDFJKLSDFJ")) // Logs missing variable name if option set
// for global use if needed...
println(env.Get("KEY")) // "value"
}