Зарегистрируйтесь, чтобы продолжить обучение

Обход мап Основы Go

Как и слайс, мапу можно обойти с помощью конструкции for range:

idToName := map[int64]string{1: "Alex", 2: "Dan", 3: "George"}

// первый аргумент — ключ, второй — значение
for id, name := range idToName {
    fmt.Println("id: ", id, "name: ", name)
}

Вывод:

id:  1 name:  Alex
id:  2 name:  Dan
id:  3 name:  George

Стоит учитывать, что порядок ключей в мапе рандомизирован:

numExistence := make(map[int]bool, 0)

// записали в ключи по порядку числа от 0 до 9
for i := 0; i < 10; i++ {
    numExistence[i] = true
}

// обходим мапу и выводим ключи
for num := range numExistence {
    fmt.Println(num)
}

Вывод:

8
1
2
3
6
7
9
0
4
5

Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»