在 golang 中的嵌套结构中初始化结构数组

我想知道如何在嵌套结构中定义和初始化结构数组,例如:


type State struct {

    id string `json:"id" bson:"id"`

    Cities 

}


type City struct {

    id string `json:"id" bson:"id"`

}


type Cities struct {

    cities []City

}

现在我如何初始化这样的结构,如果有人对如何创建结构本身有不同的想法


眼眸繁星
浏览 158回答 2
2回答

慕沐林林

在您的情况下,速记文字语法将是:state := State {    id: "CA",    Cities:  Cities{        []City {            {"SF"},        },    },}或者更短,如果您不想要文字的 key:value 语法:state := State {    "CA", Cities{        []City {            {"SF"},        },    },}    顺便说一句,如果 Cities 不包含 []City 以外的任何内容,则只需使用 City 的一部分。这将导致语法更短,并删除不必要的(可能)层: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)}

DIEA

明确写出所有内容的完整示例:state := State{    id: "Independent Republic of Stackoverflow",    Cities: Cities{        cities: []City{            City{                id: "Postington O.P.",            },        },    },}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go