Golang — использование envconfig для environment variables

Для работы с переменными окружения в 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 декодеры и многое многое другое.

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *