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