Для работы с переменными окружения в Golang без использования библиотеки envconfig просто не обойтись:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
//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 декодеры и многое многое другое.