Repository navigation
v0.3.5
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