No description
Find a file
2026-03-19 11:31:37 +03:00
defaultvalues.go first commit 2026-03-19 11:31:37 +03:00
defaultvalues_test.go first commit 2026-03-19 11:31:37 +03:00
go.mod first commit 2026-03-19 11:31:37 +03:00
LICENSE first commit 2026-03-19 11:31:37 +03:00
README.md first commit 2026-03-19 11:31:37 +03:00

Go Default Values

Небольшой Go-модуль для установки значений по умолчанию для полей структур на основе тега default.

Установка

go get git.ymnuktech.ru/ymnuk/go-default-values

Использование

import "git.ymnuktech.ru/ymnuk/go-default-values"

type Config struct {
    Host     string  `default:"localhost"`
    Port     int     `default:"8080"`
    Timeout  float64 `default:"30.5"`
    Debug    bool    `default:"false"`
    Value    *int    `default:"42"`
}

config := &Config{}
defaultvalues.SetDefaults(config)

Возможности

  • Поддержка всех скалярных типов: int, uint, float, string, bool
  • Поддержка указателей
  • Рекурсивная обработка вложенных структур
  • Обработка срезов и карт со структурами
  • Устанавливает значения только для нулевых/nil значений
  • Сохраняет существующие ненулевые значения

Лицензия

MIT