将值附加到map golang中的数组

时间:2017-11-11 16:46:30

标签: go

我正在尝试将值附加到地图内的数组中:

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)
}

这是我尝试的但我不能指向示例的一个对象追加到数组。

.ui-btn.ui-checkbox-on.ui-btn-a:after {
    background-color: red !important;
}

2 个答案:

答案 0 :(得分:8)

您需要先创建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)
}

Pozdrawiam!

答案 1 :(得分:0)

好的,我通过创建一个Example对象然后将值附加到其数组并将其分配给map来解决它。

像这样:

onErrorOccurred