加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在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,那么您已经免费获得了该值.如果您想要某个类型的零值以外的某个默认值,则只需要构造函数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读