Maison >développement back-end >Golang >Comment créer des clés composites pour les cartes de hachage dans Go ?

Comment créer des clés composites pour les cartes de hachage dans Go ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-09 06:50:02466parcourir

How to Create Composite Keys for Hash Maps in Go?

Création de clés composites pour les cartes de hachage dans Go

Dans Go, définir une clé composite pour une carte de hachage implique de combiner plusieurs valeurs pour créer un clé unique. Cette technique est utile lorsque vous souhaitez indexer des données en fonction de plusieurs paramètres, tels que le calcul et le stockage de la valeur de pow(x, y) où x et y sont des nombres entiers.

Solution

L'approche la plus simple consiste à créer une structure qui représente la clé composite, incorporant les champs obligatoires :

type Key struct {
    X, Y int
}

Cette structure définit une clé avec deux champs entiers, X et Y, qui peuvent être utilisé pour identifier de manière unique chaque entrée dans la carte de hachage :

m := map[Key]int{}
m[Key{2, 2}] = 4
m[Key{2, 3}] = 8

fmt.Println("2^2 = ", m[Key{2, 2}])
fmt.Println("2^3 = ", m[Key{2, 3}])

L'utilisation de cette structure comme type de clé garantit que chaque entrée dans la carte est identifiable de manière unique en fonction des valeurs X et Y. Cela vous permet de récupérer efficacement la valeur stockée correspondante à l'aide de la clé composite.

Considérations importantes

Il est crucial de noter que l'utilisation de pointeurs comme types de clés doit être évitée, car ils comparent les adresses mémoire au lieu des valeurs réelles. De plus, les tableaux peuvent être utilisés comme types de clés, mais ils sont moins polyvalents que les structures.

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