为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Go
眼眸繁星 2021-09-13 16:27:08
我想知道如何在嵌套结构中定义和初始化结构数组,例如:type State struct {    id string `json:"id" bson:"id"`    Cities }type City struct {    id string `json:"id" bson:"id"`}type Cities struct {    cities []City}现在我如何初始化这样的结构,如果有人对如何创建结构本身有不同的想法
查看完整描述

2 回答

?
慕沐林林

TA贡献2016条经验 获得超9个赞

在您的情况下,速记文字语法将是:


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)

}


查看完整回答
反对 回复 2021-09-13
?
DIEA

TA贡献1820条经验 获得超2个赞

明确写出所有内容的完整示例:


state := State{

    id: "Independent Republic of Stackoverflow",

    Cities: Cities{

        cities: []City{

            City{

                id: "Postington O.P.",

            },

        },

    },

}


查看完整回答
反对 回复 2021-09-13
  • 2 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信