我想知道如何在嵌套结构体内定义和初始化结构体数组,例如:
type State struct { id string `json:"id" bson:"id"` Cities } type City struct { id string `json:"id" bson:"id"` } type Cities struct { cities []City }
现在我如何初始化这样的结构,如果有人对于如何创建结构本身有不同的想法。
谢谢
在你的情况下,速记字面语法是:
state := State { id: "CA",Cities: Cities{ []City { {"SF"},},}
或者如果不想要键,则缩短:文字的值语法:
state := State { "CA",Cities{ []City { {"SF"},}
如果城市不包含[]城市以外的其他任何东西,只需使用一片城市。这将导致一个稍微较短的语法,并删除不必要的(可能)图层:
type State struct { id string `json:"id" bson:"id"` Cities []City } type City struct { id string `json:"id" bson:"id"` } func main(){ state := State { id: "CA",Cities: []City{ {"SF"},} fmt.Println(state) }