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.