Heim > Backend-Entwicklung > Golang > Wie füge ich in Go Werte an Arrays innerhalb von Karten hinzu?

Wie füge ich in Go Werte an Arrays innerhalb von Karten hinzu?

DDD
Freigeben: 2024-11-02 02:53:30
Original
1092 Leute haben es durchsucht

How to Append Values to Arrays Inside Maps in Go?

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>
Nach dem Login kopieren

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>
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage