使用substructs初始化struct

时间:2017-08-05 13:07:29

标签: go struct

我正在尝试使用其他结构的值创建结构。例如Filter

type ForSaleFilter struct {
        Search string
}
type JobFilter struct {
        JobType string
}
type Filter struct {
        ForSale ForSaleFilter
        Jobs JobFilter

}

我似乎无法找到比这长串代码更好的创建结构的方法:

filter := Filter{ForSale: ForSaleFilter{Search: "cool stuff"}}

我有更好的方法可以创建吗?像

这样的东西

filter := Filter{ForSale{Search: "cool stuff"}}

会很理想。也许我可以重构我的结构来做到这一点?

1 个答案:

答案 0 :(得分:0)

声明基本类型的变量,或者只包含基本类型的结构,变量也在Go中初始化。

因此,在声明之后,它可以立即使用。

var filter Filter
filter.ForSale.Search = "cool stuff"

filter := Filter{}
filter.ForSale.Search = "cool stuff"