Skip to content

v0.3.5

Choose a tag to compare

@tlipoca9 tlipoca9 released this 14 Dec 15:23
· 23 commits to main since this release

devgen v0.3.5 发布说明

🚀 新功能

validategen: @default 注解支持

新增 @default 注解,用于为结构体字段设置默认值。当字段为零值时,自动应用默认值。

使用示例

// validategen:@validate
type Config struct {
    // validategen:@default(localhost)
    Host string  // 默认 "localhost"

    // validategen:@default(8080)
    Port int  // 默认 8080

    // validategen:@default(true)
    Enabled bool  // 默认 true

    // validategen:@default(1.0)
    Version float64  // 默认 1.0
}

生成的代码

生成独立的 SetDefaults() 方法,在验证前调用:

cfg := &Config{}
cfg.SetDefaults()  // 设置默认值
if err := cfg.Validate(); err != nil {
    // 处理错误
}

支持的类型

  • string - 设置默认字符串值
  • 数值类型 (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, float32, float64) - 设置默认数值
  • bool - 设置默认布尔值 (true/false)

validategen: SetDefaults 测试生成

使用 --include-tests 标志时,自动为 SetDefaults() 方法生成测试代码:

devgen --include-tests ./...

📝 文档更新

  • validategen README 新增 @default 注解说明
  • 更新注解速查表

🔄 从 v0.3.4 升级

无破坏性变更,直接升级即可使用新功能。

go install github.com/tlipoca9/devgen/cmd/devgen@v0.3.5

完整更新日志: v0.3.4...v0.3.5


English