Maison > développement back-end > Golang > Comment stocker efficacement des listes de valeurs dans Maps in Go ?

Comment stocker efficacement des listes de valeurs dans Maps in Go ?

Patricia Arquette
Libérer: 2024-12-23 03:08:16
original
654 Les gens l'ont consulté

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

Utiliser des listes avec des cartes dans Go

Créer une carte de chaîne vers une liste de valeurs dans Go implique d'utiliser des structures de données du conteneur/ paquet de liste. Voici un extrait de code qui illustre le processus :

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)
}
Copier après la connexion

Ce code montre comment créer une carte qui associe des clés de chaîne à des listes de valeurs. Il initialise la carte, y ajoute une nouvelle liste sous la clé « clé », insère une valeur dans la liste et récupère enfin la première valeur de la liste.

Approche alternative utilisant des tranches

Une approche alternative pour utiliser des listes avec des cartes consiste à utiliser des tranches à la place. Les tranches sont plus couramment utilisées dans Go en raison de leur simplicité et de leur efficacité. Voici à quoi ressemblerait le code en utilisant des tranches :

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])
}
Copier après la connexion

Dans ce code, la carte associe les clés de chaîne à des tranches de chaînes. Les valeurs sont ajoutées à la tranche sous la clé, puis les première et deuxième valeurs sont récupérées et imprimées.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal