Sobes.tech
Junior — Middle

Dacă parcurgi Map-ul de mai multe ori, va rămâne în ordine secvența cheilor?

sobes.tech AI

Răspuns de la AI

În Go, tipul map nu garantează păstrarea ordinii cheilor în timpul iterației. La fiecare trecere printr-un map, ordinea de parcurgere a cheilor poate fi diferită, deoarece reprezentarea internă a tabelului hash nu este ordonată.

Dacă doriți să păstrați ordinea, de exemplu, ordinea inserției, trebuie să folosiți o structură de date suplimentară, cum ar fi un slice de chei, și să iterați peste ea.

Exemplu:

m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"}

for _, k := range keys {
    fmt.Println(k, m[k])
}

Astfel, secvența de iterație va fi stabilă și previzibilă.