Senior
Da li mapa garantuje redosled čitanja podataka?
sobes.tech АИ
Одговор од АИ
У Језику Go, унутрашња врста map не гарантује редослед проласка кроз елементе приликом читања. Итерација преко map-а се одвија у псевдослучајном редоследу, који може да се мења при сваком покретању програма. Ако је потребан сортиран пролаз, потребно је додатно чувати кључеве у низу и сортирати их пре итерације.
Пример проласка кроз map са сортираним кључевима:
m := map[string]int{"b": 2, "a": 1, "c": 3}
// Добијање кључева
keys := make([]string, 0, len(m))
for k := range m {
keys = append(keys, k)
}
// Сортирање кључева
sort.Strings(keys)
// Итерација преко сортираног низа кључева
for _, k := range keys {
fmt.Println(k, m[k])
}