Для работы с переменными окружения в Golang без использования библиотеки envconfig просто не обойтись:
//AppConfig struct to manage configuration env vars type AppConfig struct { DBHost string `envconfig:"DB_HOST" required:"true"` DBPort int `envconfig:"DB_PORT" required:"true"` DBUser string `envconfig:"DB_USER" required:"true"` DBName string `envconfig:"DB_NAME" required:"true"` DBPassword string `envconfig:"DB_PASSWORD" required:"true"` } ... // and let's use it in our main func: var cfg AppConfig err := envconfig.Process("myApp", &cfg) if err != nil { return nil, err } // finally, let's use our app configuration fmt.Println(cfg.DBHost)
Библиотека также поддерживает default значения, required флаги, custom декодеры и многое многое другое.