Heim >Backend-Entwicklung >Golang >Wie speichere ich Wertelisten in Karten in Go effizient?

Wie speichere ich Wertelisten in Karten in Go effizient?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-23 03:08:16627Durchsuche

How to Efficiently Store Lists of Values within Maps in Go?

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!

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