Sobes.tech
Middle

Que va afficher le programme avec une itération sur une carte?

sobes.tech IA

Réponse de l'IA

En Go, l'ordre d'itération sur une carte n'est pas défini et peut changer à chaque exécution du programme. Cela est dû au fait que les cartes en Go sont implémentées à l'aide de tables de hachage, et pour des raisons de sécurité et d'imprévisibilité, l'ordre de parcours est intentionnellement randomisé.

Exemple:

package main

import "fmt"

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

À chaque exécution, la sortie peut être différente, par exemple:

b 2
a 1
c 3

ou

c 3
b 2
a 1

Si une sortie ordonnée est nécessaire, il faut collecter les clés dans un slice, le trier et itérer sur les clés triées.