Senior
Harta garantează ordinea citirii datelor?
sobes.tech AI
Răspuns de la AI
În Go, tipul încorporat map nu garantează ordinea de parcurgere a elementelor la citire. Iterarea pe map are loc într-o ordine pseudo-aleatorie, care poate varia la fiecare rulare a programului. Dacă este necesară o parcurgere ordonată, trebuie să stocați cheile suplimentar într-un slice și să le sortați înainte de iterare.
Exemplu de parcurgere a unui map cu sortarea cheilor:
m := map[string]int{"b": 2, "a": 1, "c": 3}
// Obțineți cheile
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
// Sortează cheile
sort.Strings(keys)
// Parcurgeți cheile sortate
for _, k := range keys {
fmt.Println(k, m[k])
}