登录
首页 >  Golang >  Go问答

使用 Golang 结构体的 bson 默认值

来源:stackoverflow

时间:2024-03-15 17:39:25 357浏览 收藏

本文探讨了在 Go 中使用 bson 默认值来初始化结构体。作者希望在返回新结构体时为其指定默认值,例如将 `status` 字段设置为 "draft"。通过引用另一篇文章,作者发现了一种使用指针来设置默认值的方法。在给定的示例中,`DefaultText` 字段被初始化为 "default text",即使在创建新实例时没有指定任何值。

问题内容

我正在寻找新结构的返回默认值,没有值,这是我当前的结构:

// Campaign represents a email campaign
type Campaign struct {
    ID             bson.ObjectId   `json:"id" bson:"_id"`
    CampaignName   string          `json:"campaign_name" bson:"campaign_name"`
    FromName       []string        `json:"from_name" bson:"from_name"`
    FromEmail      string          `json:"from_email" bson:"from_email"`
    ReplyEmail     string          `json:"reply_email" bson:"reply_email"`
    Subject        []string        `json:"subject" bson:"subject"`
    BodyText       string          `json:"body_text" bson:"body_text"`
    BodyHTML       string          `json:"body_html" bson:"body_html"`
    SMTPList       bson.ObjectId `json:"smtp_list" bson:"smtp_list"`
    EmailList      bson.ObjectId `json:"email_list" bson:"email_list"`
    DateCreated    time.Time       `json:"date_created" bson:"date_created"`
    DateUpdated    time.Time       `json:"date_updated" bson:"date_updated"`
    DateSendFinish time.Time       `json:"date_send_finish" bson:"date_send_finish"`
    OwnerID        bson.ObjectId   `json:"owner_id" bson:"owner_id"`
    Opens          int             `json:"opens" bson:"opens"`
    Clicks         int             `json:"clicks" bson:"clicks"`
    Status         string          `json:"status" bson:"status"`
}

我想返回 status = "draft" 我怎样才能做到这一点?


解决方案


我找到了另一篇文章

// Something is the structure we work with
type Something struct {
     Text string 
     DefaultText string 
} 

// NewSomething create new instance of Something
func NewSomething(text string) Something {
   something := Something{}
   something.Text = text
   something.DefaultText = "default text"
   return something
}

Original Post

终于介绍完啦!小伙伴们,这篇关于《使用 Golang 结构体的 bson 默认值》的介绍应该让你收获多多了吧!欢迎大家收藏或分享给更多需要学习的朋友吧~golang学习网公众号也会发布Golang相关知识,快来关注吧!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>