Middle
Ce va afișa programul cu o iterație pe o hartă?
sobes.tech AI
Răspuns de la AI
În Go, ordinea de iterare pe un map nu este definită și se poate schimba la fiecare rulare a programului. Acest lucru se datorează faptului că map-urile în Go sunt implementate folosind tabele hash, iar pentru siguranță și imprevizibilitate, ordinea de traversare este intenționat aleatorie.
Exemplu:
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)
}
}
La fiecare rulare, ieșirea poate fi diferită, de exemplu:
b 2
a 1
c 3
ori
c 3
b 2
a 1
Dacă este nevoie de o ieșire ordonată, trebuie colectate cheile într-un slice, sortate și apoi iterate pe cheile sortate.