如何使用从数组中获取的数据在 Golang 中创建对象的对象对象?

如果我有这个数组:


type Person struct {

    ID      string `json:"id"`

    Name    string `json:"name"`

    Address string `json:"address"`

}


var Group = []Person{

    {

        ID:      "1",

        Name:    "Linda",

        Address: "London",

    },

    {

        ID:      "2",

        Name:    "George",

        Address: "Paris",

    },

    {

        ID:      "3",

        Name:    "John",

        Address: "Amsterdam",

    },

}

如何生成一个对象对象对象,其中每个对象都有一个特定值是键,其余的键值对都在其中,如下所示:


var Object = {

    Linda: {

        ID:      "1",

        Address: "London",

    },

    George: {

        ID:      "2",

        Address: "Paris",

    },

    John: {

        ID:      "3",

        Address: "Amsterdam",

    },

}

这不是我知道的城里最聪明的问题,但请帮忙!


明月笑刀无情
浏览 129回答 1
1回答

Qyouu

我不完全确定您在这里所说的对象是什么意思,但实现这一目标的一种方法是通过.map例如:package mainimport "fmt"func main(){    type Person struct {        ID      string `json:"id"`        Name    string `json:"name"`        Address string `json:"address"`    }    var Group = []Person{        {            ID:      "1",            Name:    "Linda",            Address: "London",        },        {            ID:      "2",            Name:    "George",            Address: "Paris",        },        {            ID:      "3",            Name:    "John",            Address: "Amsterdam",        },    }    personMap := map[string]Person{}    for _, person := range Group {        personMap[person.Name] = person    }    fmt.Println(personMap)    // Outputs: map[George:{2 George Paris} John:{3 John Amsterdam} Linda:{1 Linda London}]}然后,您可以通过以下方式从地图访问aPersonpersonMap["Linda"]
打开App,查看更多内容
随时随地看视频慕课网APP