Maison > développement back-end > Golang > Comment mapper efficacement des chaînes à des listes dans Go ?

Comment mapper efficacement des chaînes à des listes dans Go ?

DDD
Libérer: 2024-12-12 14:03:14
original
975 Les gens l'ont consulté

How to Efficiently Map Strings to Lists in Go?

Utilisation d'un mappage de chaînes pour lister des instances

Dans Go, la création d'un mappage de chaînes vers des listes peut être réalisée à l'aide du type map. Le type de carte dans Go est une collection non ordonnée de paires clé-valeur, où chaque clé est unique et est associée à une valeur unique.

Approche utilisant la bibliothèque de listes

Une façon de créer une carte de chaîne dans les listes se fait en tirant parti du conteneur/liste de bibliothèque standard de Go. Cette approche nécessite une gestion explicite des instances de liste.

package main

import (
    "fmt"
    "container/list"
)

func main() {
    // Create a map of string to *list.List instances.
    x := make(map[string]*list.List)

    // Create an empty list and associate it with the key "key".
    x["key"] = list.New()

    // Push a value into the list.
    x["key"].PushBack("value")

    // Retrieve the value from the list.
    fmt.Println(x["key"].Front().Value)
}
Copier après la connexion

Approche alternative utilisant Slice

Dans de nombreux cas, utiliser une tranche comme type de valeur au lieu d'une instance de liste.List peut être plus appropriée . Les tranches offrent un moyen plus pratique et idiomatique de représenter des listes dans Go.

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 "key".
    x["key"] = append(x["key"], "value")
    x["key"] = append(x["key"], "value1")

    // Retrieve the values from the slice.
    fmt.Println(x["key"][0])
    fmt.Println(x["key"][1])
}
Copier après la connexion

Cette approche alternative utilise des tranches, qui sont des tableaux à croissance dynamique, offrant un moyen plus efficace et performant de gérer les listes dans les applications Go.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal