Heim > Artikel > Backend-Entwicklung > Wie füge ich in Go Werte an Arrays innerhalb von Karten hinzu?
Werte an Arrays innerhalb einer Karte in Go anhängen
Bei der Arbeit mit Karten in Go kann die Bearbeitung von Arrays innerhalb dieser Karten eine Herausforderung sein. Dieser Artikel bietet eine Lösung für das Problem des Anhängens von Werten an Arrays, die in einer Karte gespeichert sind.
Um das Problem zu verstehen, betrachten Sie den folgenden Code:
<code class="go">type Example struct { Id []int Name []string } var MyMap map[string]Example</code>
Hier ist die MyMap eine Karte das Strings Instanzen der Beispielstruktur zuordnet. Die Beispielstruktur enthält die Arrays Id und Name. Das Ziel besteht darin, Werte an diese Arrays anzuhängen.
Der erste Versuch, dies zu tun, besteht häufig darin, Methoden für die Beispielstruktur aufzurufen und einen Zeigerempfänger zu übergeben, um auf die Arrays zuzugreifen und sie zu ändern. Das direkte Zuweisen des Ergebnisses von Oferty.AppendExample(1, „SomeText“) zu MyMap[„key1“] funktioniert jedoch nicht, da die Karte eine Kopie der Beispielstruktur speichert, nicht die Struktur selbst.
Die Die Lösung besteht darin, den Code wie folgt zu ändern:
<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>
Indem wir eine Instanz der Beispielstruktur erstellen und einen Verweis darauf in der Karte speichern (unter Verwendung eines Zeigertyps), können wir die Arrays direkt ändern. Die AppendOffer-Methode arbeitet mit einem Zeiger auf die Beispielstruktur und ermöglicht es uns, Werte an die Arrays anzuhängen.
Diese Lösung hängt effektiv Werte an die Arrays innerhalb der Beispielstruktur an, die in MyMap gespeichert sind. Es bietet einen klaren und prägnanten Ansatz für die Verwaltung von Arrays innerhalb von Karten in Go.
Das obige ist der detaillierte Inhalt vonWie füge ich in Go Werte an Arrays innerhalb von Karten hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!