Heim >Backend-Entwicklung >Golang >Wie erstelle ich zusammengesetzte Schlüssel für Hash-Maps in Go?

Wie erstelle ich zusammengesetzte Schlüssel für Hash-Maps in Go?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-11-09 06:50:02466Durchsuche

How to Create Composite Keys for Hash Maps in Go?

Zusammengesetzte Schlüssel für Hash-Maps in Go erstellen

In Go umfasst das Definieren eines zusammengesetzten Schlüssels für eine Hash-Map das Kombinieren mehrerer Werte, um einen zu erstellen eindeutiger Schlüssel. Diese Technik ist nützlich, wenn Sie Daten basierend auf mehreren Parametern indizieren möchten, beispielsweise zum Berechnen und Speichern des Werts von pow(x, y), wobei x und y ganze Zahlen sind.

Lösung

Der einfachste Ansatz besteht darin, eine Struktur zu erstellen, die den zusammengesetzten Schlüssel darstellt und die erforderlichen Felder enthält:

type Key struct {
    X, Y int
}

Diese Struktur definiert einen Schlüssel mit zwei ganzzahligen Feldern, X und Y, die dies können kann verwendet werden, um jeden Eintrag in der Hash-Map eindeutig zu identifizieren:

m := map[Key]int{}
m[Key{2, 2}] = 4
m[Key{2, 3}] = 8

fmt.Println("2^2 = ", m[Key{2, 2}])
fmt.Println("2^3 = ", m[Key{2, 3}])

Durch die Verwendung dieser Struktur als Schlüsseltyp wird sichergestellt, dass jeder Eintrag in der Karte anhand der X- und Y-Werte eindeutig identifizierbar ist. Dadurch können Sie den entsprechenden gespeicherten Wert mithilfe des zusammengesetzten Schlüssels effizient abrufen.

Wichtige Überlegungen

Es ist wichtig zu beachten, dass die Verwendung von Zeigern als Schlüsseltypen vermieden werden sollte Sie vergleichen Speicheradressen anstelle der tatsächlichen Werte. Darüber hinaus können Arrays als Schlüsseltypen verwendet werden, sie sind jedoch weniger vielseitig als Strukturen.

Das obige ist der detaillierte Inhalt vonWie erstelle ich zusammengesetzte Schlüssel für Hash-Maps in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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