Sobes.tech
Junior — Middle

Quels types de données conviennent pour une utilisation comme clés dans une structure Map?

sobes.tech IA

Réponse de l'IA

En Go, les clés dans une structure map ne peuvent être que des types qui supportent l'opération de comparaison d'égalité (== et !=). Cela est dû au fait que, pour rechercher une valeur par clé, il est nécessaire de comparer les clés.

Types de clés appropriés :

  • Types simples : int, float64, string, bool, etc.
  • Pointeurs
  • Structures, si tous leurs champs sont comparables
  • Tableaux, si leurs éléments sont comparables

Il est impossible d'utiliser comme clés :

  • Slices (slice)
  • Maps (map)
  • Fonctions

Exemple d'utilisation :

m := make(map[string]int)
m["apple"] = 5
m["banana"] = 3

fmt.Println(m["apple"]) // 5

Si vous essayez d'utiliser un slice comme clé, le compilateur renverra une erreur.