将值附加到map golang中的数组

Sae*_*aem 7 go

我试图将值附加到地图内的数组:

var MyMap map[string]Example 

type Example struct {
    Id []int
    Name []string
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试但我不能指向示例的对象附加到数组.

package main


import (
  "fmt"
)


type Example struct {
  Id []int
  Name []string
}

func (data *Example) AppendExample(id int,name string) {
   data.Id = append(data.Id, id)
   data.Name = append(data.Name, name)
}

var MyMap map[string]Example

func main() {
   MyMap = make(map[string]Example)
   MyMap["key1"] = Oferty.AppendExample(1,"SomeText")
   fmt.Println(MyMap)
}
Run Code Online (Sandbox Code Playgroud)

Boh*_*tko 9

在将Example结构放入地图之前,您需要创建它的实例.

您的地图也会根据MyMap定义保留结构的副本,而不是结构本身.尝试在地图中保留对Example结构的引用.

package main

import "fmt"

type Example struct {
    Id []int
    Name []string
}

func (data *Example) AppendOffer(id int, name string) {
    data.Id = append(data.Id, id)
    data.Name = append(data.Name, name)
}

var MyMap map[string]*Example

func main() {
    obj := &Example{[]int{}, []string{}}
    obj.AppendOffer(1, "SomeText")
    MyMap = make(map[string]*Example)
    MyMap["key1"] = obj
    fmt.Println(MyMap)
}
Run Code Online (Sandbox Code Playgroud)

Pozdrawiam!