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

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

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

Go
明月笑刀无情 2022-10-04 20:02:39
如果我有这个数组: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",    },}这不是我知道的城里最聪明的问题,但请帮忙!
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

我不完全确定您在这里所说的对象是什么意思,但实现这一目标的一种方法是通过.map


例如:


package main


import "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"]


查看完整回答
反对 回复 2022-10-04
  • 1 回答
  • 0 关注
  • 159 浏览
慕课专栏
更多

添加回答

举报

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