Junior — Middle
Quels types de données peuvent servir de clé dans un conteneur map?
sobes.tech IA
Réponse de l'IA
En Go, la clé dans une map ne peut être que de types de données comparables (comparable). Cela signifie que l'opérateur == doit être défini pour la clé.
Types de clés appropriés :
- Valeurs booléennes (
bool) - Nombres (
int,float64,uint8, etc.) - Chaînes (
string) - Pointeurs
- Canaux
- Interfaces, si le type dynamique est comparable
- Structures dont tous les champs sont comparables
Il est interdit d'utiliser comme clé :
- Slices (
slice) - Maps (
map) - Fonctions
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"
Tenter d'utiliser un type non comparable comme clé entraînera une erreur du compilateur.