Maison  >  Article  >  développement back-end  >  Comment puis-je utiliser des tranches comme clés dans une carte Go ?

Comment puis-je utiliser des tranches comme clés dans une carte Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-11-13 07:12:02473parcourir

How can I use slices as keys in a Go map?

Utilisation de tranches comme clés de carte

Bien que le compilateur interdise l'utilisation de tranches comme clés de carte directes en raison de leur nature mutable, une approche alternative peut être utilisé : convertir des tranches en tableaux avant de les utiliser comme clés.

Exemple :

package main

import "fmt"

func main() {
    h := make(map[[2]string]string)
    h[[2]string{"a", "b"}] = "ab"

    fmt.Printf("%v", h)
}

Dans cet exemple, une carte où les clés sont des tableaux de chaînes est créée. Le type de clé de mappage est explicitement défini comme [2]string, qui est un tableau de chaînes d'une taille fixe de 2.

Explication :

Depuis les tableaux sont immuables dans Go, ils respectent les exigences pour être une clé de carte valide. Cela vous permet d'utiliser efficacement les tranches comme clés en les convertissant en tableaux de taille fixe. Les tableaux offrent l'immuabilité et l'unicité nécessaires, garantissant des opérations cartographiques fiables et cohérentes.

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!

Déclaration:
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