Sobes.tech
Junior — Middle

Peut-on garantir l'ordre de parcours des éléments dans la structure de données Map?

sobes.tech IA

Réponse de l'IA

En Go, l'ordre de parcours des éléments dans la structure de données map n'est pas garanti et est aléatoire. Cela est fait exprès pour éviter que le code dépende de l'ordre de parcours et pour renforcer la sécurité.

Si un ordre garanti est nécessaire, généralement :

  • On extrait les clés dans une tranche (slice)
  • On trie la tranche
  • On parcourt le map selon les clés triées

Exemple :

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

Ainsi, il n'est pas possible de se fier à l'ordre de parcours du map en Go.