在golang 中为struct字段分配默认值
发布时间:2020-12-16 09:22:40 所属栏目:大数据 来源:网络整理
导读:参见英文答案 How to set default values in Go structs????????????????????????????????????5个 我想在golang中为struct字段指定默认值.我不确定是否可能,但在创建/初始化结构的对象时,如果我没有为该字段分配任何值,我希望它从默认值分配.知道如何实现它
参见英文答案 >
How to set default values in Go structs????????????????????????????????????5个
我想在golang中为struct字段指定默认值.我不确定是否可能,但在创建/初始化结构的对象时,如果我没有为该字段分配任何值,我希望它从默认值分配.知道如何实现它吗? type abc struct { prop1 int prop2 int // default value: 0 } obj := abc{prop1: 5} // here I want obj.prop2 to be 0 解决方法
这是不可能的.您可以做的最好的是使用构造函数方法:
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,那么您已经免费获得了该值.如果您想要某个类型的零值以外的某个默认值,则只需要构造函数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |