为结构字段分配默认值[重复]
Posted
技术标签:
【中文标题】为结构字段分配默认值[重复]【英文标题】:Assign default value for struct field [duplicate] 【发布时间】:2018-01-24 09:32:47 【问题描述】:我想为 Go 中的 struct 字段分配默认值。我不确定是否可能,但是在创建/初始化结构的对象时,如果我没有为该字段分配任何值,我希望它是从默认值分配的。知道如何实现吗?
type abc struct
prop1 int
prop2 int // default value: 0
obj := abcprop1: 5
// here I want obj.prop2 to be 0
【问题讨论】:
【参考方案1】:这是不可能的。你能做的最好的就是使用构造方法:
type abc struct
prop1 int
prop2 int // default value: 0
func New(prop1 int) abc
return abc
prop1: prop1,
prop2: someDefaultValue,
但还要注意,Go 中的所有值自动默认为零值。 int
的零值已经是 0
。因此,如果您想要的默认值实际上是0
,那么您已经免费获得了它。如果您想要某个类型的零值以外的一些默认值,则只需要一个构造函数。
【讨论】:
以上是关于为结构字段分配默认值[重复]的主要内容,如果未能解决你的问题,请参考以下文章