Sobes.tech
Junior — Middle

Je možné zaručiť poradie prechodu prvkov v dátovej štruktúre Map?

sobes.tech AI

Odpoveď od AI

V jazyku Go nie je garantovaný a náhodný poradí prechodu prvkov v dátovej štruktúre map. Toto je zámerne urobené, aby sa zabránilo závislosti kódu od poradia prechodu a zvýšila bezpečnosť.

Ak je potrebné garantované poradie, zvyčajne:

  • Klúče sa extrahujú do poľa (slice)
  • Pole sa zoradí
  • Mapu prechádzame podľa zoradených kľúčov

Príklad:

keys := make([]string, 0, len(myMap))
for k := range myMap {
    keys = append(keys, k)
}
sort.Strings(keys)
for _, k := range keys {
    fmt.Println(k, myMap[k])
}

Týmto spôsobom sa nedá spoľahnúť na poradie prechodu map v jazyku Go.