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.