Шаг 58.
Язык программирования Go.
Итерации по отображениям
с упорядоченными ключами
На этом шаге рассмотрим итерации по отображениям
с упорядоченными ключами.
При воспроизведении данных для представления человеку часто
бывает необходимо расположить их в определенном порядке.
Задание 1. Реализовать вывод городов по именам в алфавитном порядке, результаты представить в следующем виде (рис.1):
Рис.1. Пример работы приложения
Раскрыть/скрыть решение и комментарии.
cities := make([]string, 0, len(populationForCity))
for city := range populationForCity {
cities = append(cities, city)
}
sort.Strings(cities)
Архив примера можно взять здесь.
Здесь сначала создается срез типа []string нулевой длины (то
есть пустой), но с достаточной емкостью, чтобы сохранить в нем
все ключи отображения. Затем выполняются итерации по отображению, в ходе которых извлекаются только ключи и добавляются в срез cities.
Далее выполняется сортировка среза, затем выполняются итерации
по срезу и отыскиваются соответствующие значения численности населения.
Представленный здесь алгоритм – создание пустого среза достаточной емкости, добавление в срез всех ключей отображения, сортировка среза и выполнение итераций по нему, чтобы обеспечить
вывод упорядоченных данных, – является типичным алгоритмом
итераций по отображениям с упорядоченными ключами.
На следующем шаге рассмотрим в инвертирование отображений Go.
Предыдущий шаг
Содержание
Следующий шаг