Junior — Middle
Ha többször végigmegyünk a Map-en, megmarad a kulcsok sorrendje?
sobes.tech MI
Válasz az MI-től
Go nyelven a map típus nem garantálja a kulcsok sorrendjének megőrzését iteráció közben. Minden map-en való végigjárásnál a kulcsok sorrendje eltérő lehet, mivel a hash-tábla belső reprezentációja nem rendezett.
Ha meg akarod tartani a sorrendet, például a beszúrás sorrendjét, akkor egy kiegészítő adatszerkezetet, például kulcsokból álló szeletet kell használnod, és azon iterálnod.
Példa:
m := map[string]int{"a": 1, "b": 2, "c": 3}
keys := []string{"a", "b", "c"}
for _, k := range keys {
fmt.Println(k, m[k])
}
Így az iteráció sorrendje stabil és előre látható lesz.