我有一个带空白字段的结构:
type Foo struct {
a uint32
b uint32
c uint32
_ uint32 //padding
}
对于没有空白字段的结构,我喜欢使用单线初始化。但是,对于带有空白字段的类型,我似乎无法做到这一点:
Foo{1,2,3} // too few values in struct initializer
Foo{1,2,3,0} // cannot refer to blank field or method
Foo{1,2,3,_} // cannot use _ as value
为了保持良好的语法,我必须命名未使用的字段吗?
答案 0 :(得分:3)
您可以指定字段
f := Foo{a: 1, b: 2, c: 3}
fmt.Println(f) //{1 2 3 0}