Перейти к основному содержимому
Version: 2.0.0

Генерация загрузчика настроек

Начало#

В Swipe есть возможность сгенерировать загрузку настроек из переменных среды:

Структура конфигурации:

package example
type Config struct {    Database Database}
type Database struct {    Host string    Username string    Password string}

Файл настроек Swipe:

package example
import (  . "github.com/swipe-io/swipe/v2")
func Swipe() {    swipe.Build(        ConfigEnv(&Config{}),    )}

Swipe сгенерирует функцию загрузки func LoadConfig() (cfg *Config, errs []error)

Настройки#

Изменение имени метода загрузки настроек#

package example
import (  . "github.com/swipe-io/swipe/v2")
func Swipe() {    swipe.Build(        ConfigEnv(            &Config{},            ConfigEnvFuncName("MyNameFunc"),        ),    )}

Генерация markdown документации#

package example
import (  . "github.com/swipe-io/swipe/v2")
func Swipe() {    swipe.Build(        ConfigEnv(            &Config{},            ConfigEnvDocEnable(),            ConfigEnvDocOutput("./docs")        ),    )}

Теги структуры#

Swipe использует идиоматические значения по умолчанию для генерации имен переменных среды из имен полей Go. Чтобы переопределить значения по умолчанию, используйте следующие необязательные теги полей структуры:

ТегОписание
env:"env_name"Заменить имя переменной среды по умолчанию.
env:",required"Обязательное поле, пустые значения не допустимы
env:",required,use_zero"Обязательное поле, пустые значения допустимы
info

Переменная среды генерируется в верхнем регистре, вложенные поля структуры разделяться через _.