No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-09-24 22:57:21 +03:00
.gitignore update: .gitignore 2026-09-24 22:57:21 +03:00
defaultvalues.go fix: default-тег теперь применяется к пустым slice-полям 2026-09-24 22:56:01 +03:00
defaultvalues_test.go fix: default-тег теперь применяется к пустым slice-полям 2026-09-24 22:56:01 +03:00
go.mod update: Обновление версии в go.mod 2026-09-24 22:45:44 +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