Sobes.tech
Junior — Middle

Comment se déroule la séquence de parcours des éléments dans la structure de données Map?

sobes.tech IA

Réponse de l'IA

En Go, la structure de données map ne garantit pas un ordre spécifique lors de l’itération. Lorsqu’on parcourt avec une boucle for range, l’ordre sera aléatoire et peut changer à chaque exécution du programme.

Exemple d’itération sur un map :

m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
    fmt.Println(key, value)
}

Si un parcours ordonné est nécessaire, on extrait généralement les clés dans une tranche, on les trie, puis on parcourt la tranche triée :

keys := make([]string, 0, len(m))
for k := range m {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, m[k])
}

Ainsi, la séquence de parcours dans un map n’est pas définie par défaut et est aléatoire.