Verwenden von Listen mit Karten in Go
Das Erstellen einer Zuordnung von Zeichenfolgen zu einer Liste von Werten in Go erfordert die Verwendung von Datenstrukturen aus dem Container/ Listenpaket. Hier ist ein Codeausschnitt, der den Prozess veranschaulicht:
package main import ( "fmt" "container/list" ) func main() { // Create a map of string to list x := make(map[string]*list.List) // Assign a new list to a key in the map x["key"] = list.New() // Push a value to the list x["key"].PushBack("value") // Retrieve the first value from the list associated with the key fmt.Println(x["key"].Front().Value) }
Dieser Code zeigt, wie eine Karte erstellt wird, die Zeichenfolgenschlüssel mit Wertelisten verknüpft. Es initialisiert die Karte, fügt ihr unter dem Schlüssel „key“ eine neue Liste hinzu, verschiebt einen Wert in die Liste und ruft schließlich den ersten Wert aus der Liste ab.
Alternativer Ansatz unter Verwendung von Slices
Ein alternativer Ansatz zur Verwendung von Listen mit Karten besteht darin, stattdessen Slices zu verwenden. Slices werden aufgrund ihrer Einfachheit und Effizienz häufiger in Go verwendet. So würde der Code bei Verwendung von Slices aussehen:
package main import "fmt" func main() { // Create a map of string to string slices x := make(map[string][]string) // Append values to the slice associated with the key x["key"] = append(x["key"], "value") x["key"] = append(x["key"], "value1") // Retrieve the first and second values from the slice fmt.Println(x["key"][0]) fmt.Println(x["key"][1]) }
In diesem Code ordnet die Karte Zeichenfolgenschlüssel Slices von Zeichenfolgen zu. Werte werden an den Slice unter dem Schlüssel angehängt und dann werden der erste und der zweite Wert abgerufen und gedruckt.
Das obige ist der detaillierte Inhalt vonWie speichere ich Wertelisten in Karten in Go effizient?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!