Junior — Middle
Quels types de données sont autorisés comme clés pour la structure de carte?
sobes.tech IA
Réponse de l'IA
En Go, les clés pour une carte ne peuvent être que des types de données qui prennent en charge l'opération de comparaison (comparable). Cela signifie que les clés peuvent être :
- Valeurs booléennes (bool)
- Nombres (int, float, complex, etc.)
- Chaînes (string)
- Pointeurs
- Interfaces, si le type dynamique prend en charge la comparaison
- Structures, si tous leurs champs sont comparables
Il est impossible d'utiliser des slices, des cartes, des fonctions ou d'autres types non comparables comme clés, car ils ne prennent pas en charge l'opérateur ==.
Exemple :
m := make(map[string]int)
m["key"] = 42
// Structure avec des champs comparables
type Point struct {
X, Y int
}
m2 := make(map[Point]string)
m2[Point{1,2}] = "Un point"