Senior
Biztosítja a térkép az adatok olvasási sorrendjét?
sobes.tech MI
Válasz az MI-től
Go nyelvben a beépített map típus nem garantálja az elemek bejárási sorrendjét olvasáskor. A map feletti iteráció pszeudó-véletlenszerű sorrendben történik, amely minden programindításkor változhat. Ha rendezett bejárásra van szükség, akkor a kulcsokat külön tömbben kell tárolni, és azok szerint kell rendezni az iteráció előtt.
Példa a map rendezett kulcsok szerinti bejárására:
m := map[string]int{"b": 2, "a": 1, "c": 3}
// Kulcsok lekérése
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
// Kulcsok rendezése
sort.Strings(keys)
// Rendezett kulcsok szerinti iteráció
for _, k := range keys {
fmt.Println(k, m[k])
}