Zusammengesetzte Schlüssel für Hash-Tabellen in Go erstellen
In Go sind Hash-Tabellen wertvolle Datenstrukturen zum effizienten Speichern und Abrufen von Daten auf Basis eindeutiger Daten Schlüssel. Wenn es jedoch um mehrere Werte geht, die zusammen einen zusammengesetzten Schlüssel bilden, kann es eine Herausforderung sein, zu bestimmen, wie dieser Schlüssel in einer Hash-Tabelle dargestellt und verwendet werden soll.
Zusammengesetzte Schlüssel darstellen
Um einen zusammengesetzten Schlüssel darzustellen, besteht ein effektiver Ansatz darin, eine benutzerdefinierte Datenstruktur zu definieren, die als „Schlüssel“-Struktur bezeichnet wird. Diese Struktur kapselt die einzelnen Werte, aus denen der Schlüssel besteht:
type Key struct { X, Y int }
Durch die Verwendung einer Struktur können Sie mehrere Werte in einem einzigen Schlüssel kombinieren, was den Vergleich und die Identifizierung verschiedener Schlüssel innerhalb der Hash-Tabelle erleichtert.
Verwenden des benutzerdefinierten Schlüsseltyps
Sobald die benutzerdefinierte Schlüsselstruktur definiert ist, können Sie sie erstellen eine Hash-Tabelle mit diesem Schlüsseltyp:
m := map[Key]int{}
Diese Hash-Tabelle verwendet die Schlüsselstruktur als Schlüsseltyp und speichert mit jedem Schlüssel verknüpfte Ganzzahlwerte.
Beispielverwendung
Betrachten wir das Beispiel der Speicherung berechneter Werte von pow(x, y) in der Hash-Tabelle, wobei x und y sind ganze Zahlen. Mithilfe der Key-Struktur können wir für jedes Paar (x, y) einen Schlüssel generieren:
m := map[Key]int{} m[Key{2, 2}] = 4 m[Key{2, 3}] = 8
Um nun den Wert für ein bestimmtes Paar abzurufen, können Sie einfach dieselbe Key-Struktur verwenden:
fmt.Println("2^2 = ", m[Key{2, 2}]) fmt.Println("2^3 = ", m[Key{2, 3}])
Dieser Ansatz bietet eine flexible und effiziente Möglichkeit, Daten mithilfe zusammengesetzter Schlüssel in einer Hash-Tabelle zu speichern und abzurufen.
Das obige ist der detaillierte Inhalt vonWie werden zusammengesetzte Schlüssel in Go-Hash-Tabellen dargestellt und verwendet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!