go 中若结构体包含匿名(空白)字段,无法使用位置参数方式初始化,但可通过字段名指定法实现简洁的一行初始化,且未显式赋值的字段(包括空白字段)会自动获得零值。
在 Go 语言中,结构体初始化支持两种主要语法:位置式(positional) 和 字段名式(named-field)。当结构体中存在匿名字段(即字段名为 _)时,位置式初始化会失效

此时,唯一合规且简洁的解决方案是采用字段名初始化语法:
type Foo struct {
a uint32
b uint32
c uint32
_ uint32 // padding,不参与业务逻辑,但影响内存布局
}
f := Foo{a: 1, b: 2, c: 3} // ✅ 合法、清晰、一行完成
fmt.Printf("%+v\n", f) // 输出:{a:1 b:2 c:3 _:0}该写法的优势在于:
⚠️ 注意事项:
总结:无需为匿名字段“起名”即可优雅解决初始化问题——放弃位置依赖,拥抱语义明确的字段名初始化,这既是 Go 的推荐实践,也是处理带填充字段结构体的标准方案。