Junior — Middle
Comment la structure de données map est-elle implémentée pour stocker et accéder aux paires clé-valeur dans le système?
sobes.tech IA
Réponse de l'IA
En Go, la structure de données map est implémentée comme une table de hachage qui permet un accès rapide aux valeurs par clés. Lors de l'ajout d'une paire clé-valeur, la clé est hachée, et le hash détermine l'indice dans le tableau de buckets où la valeur est stockée.
Points clés de l'implémentation :
- Utilisation d'une adressage ouvert avec des chaînes pour résoudre les collisions.
- En cas de collisions, les éléments sont stockés dans des listes chaînées à l'intérieur des buckets.
- Lors de l'augmentation du nombre d'éléments, une réorganisation (rehash) est effectuée pour maintenir la performance.
Exemple d'utilisation de map en Go :
m := make(map[string]int)
m["apple"] = 5
value, exists := m["apple"]
if exists {
fmt.Println("Valeur pour 'apple':", value)
}