„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 21.11.2024
Durchsuche:106

How to Append Values to Arrays Inside Maps in Go?

Anhängen von Werten an Arrays innerhalb einer Karte in Go

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:

type Example struct {
    Id []int
    Name []string
}
var MyMap map[string]Example

Hier ist die MyMap eine Karte, die Zeichenfolgen 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.

The Die Lösung besteht darin, den Code wie folgt zu ändern:

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

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.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3