Junior — Middle
Se poate garanta ordinea de parcurgere a elementelor în structura de date Map?
sobes.tech AI
Răspuns de la AI
În Go, ordinea de parcurgere a elementelor în structura de date map nu este garantată și este aleatorie. Acest lucru este făcut intenționat pentru a preveni ca codul să depindă de ordinea de parcurgere și pentru a crește securitatea.
Dacă este nevoie de o ordine garantată, de obicei:
- Se extrag cheile într-un slice
- Se sortează slice-ul
- Se parcurge map-ul după cheile sortate
Exemplu:
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])
}
Astfel, nu se poate conta pe ordinea de parcurgere a map în Go.