Map (карта) в Golang - это неупорядоченная коллекция пар ключ-значение. Порядок записи в map не имеет значения и при итерации пары ключ-значение выдаются в случайном порядке. Если вам нужен стабильный порядок итераций, вы должны поддерживать отдельную структуру данных.
В следующем примере используется отсортированный срез (slice) ключей для печати map[string]int в порядке расположения ключей.
m := map[string]int{"A": 21, "C": 3, "B": 46}
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])
}
Вывод:
A 21
B 46
C 3
Также, начиная с Go 1.12, пакет fmt печатает карты в порядке сортировки ключей, чтобы упростить тестирование. Например:
m := map[string]int{"A": 21, "C": 3, "B": 46}
fmt.print(m)
Вывод:
map[A:21 B:46 C:3]
Читайте также:
Комментариев нет:
Отправить комментарий