Heim > Artikel > Backend-Entwicklung > Wie hängt man in Go Werte an Arrays innerhalb einer Karte an und behält dabei Objektreferenzen bei?
Werte an Arrays innerhalb einer Karte in Go anhängen
Beim Versuch, Werte an Arrays innerhalb einer Karte anzuhängen, kann es beim Festlegen von Referenzen zu Schwierigkeiten kommen zu Beispielobjekten.
In Go versucht der folgende Code, Werte an eine Beispielstruktur anzuhängen:
<code class="go">var MyMap map[string]Example type Example struct { Id []int Name []string } 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) }</code>
Dieser Code ist jedoch aus mehreren Gründen falsch:
Der folgende korrigierte Code behebt diese Probleme:
<code class="go">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) }</code>
In diesem korrigierten Code:
Durch die Implementierung dieser Korrekturen wird der Code korrekt angehängt Werte zu den Arrays innerhalb der Karte unter Beibehaltung der Objektreferenzen.
Das obige ist der detaillierte Inhalt vonWie hängt man in Go Werte an Arrays innerhalb einer Karte an und behält dabei Objektreferenzen bei?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!