Итерация по картам
Часть раздела Основы путешествия по GO на Coddy. Урок 92 из 109.
Ключевое слово range позволяет пройти по всем парам «ключ-значение» в карте. Оно возвращает ключ и значение для каждой записи.
Создай карту запасов фруктов:
inventory := map[string]int{
"apples": 5,
"bananas": 8,
"oranges": 12,
}
for fruit, quantity := range inventory {
fmt.Printf("%s: %d\n", fruit, quantity)
}Результат показывает каждую пару «ключ-значение»:
apples: 5
bananas: 8
oranges: 12Go не гарантирует порядок, в котором range перебирает элементы карты, поэтому эти строки могут выводиться в разном порядке при каждом выполнении цикла.
Если тебе нужны только ключи, ты можешь пропустить вторую переменную:
for fruit := range inventory {
fmt.Println(fruit)
}Задание
НовичокВ этом задании ты потренируешься перебирать элементы карты с помощью ключевого слова range в Go. Для тебя уже создана карта оценок учеников. Твоя задача — перебрать элементы карты и вывести имя каждого ученика и его оценку.
Допиши код, чтобы перебрать карту studentGrades и вывести имя каждого ученика и его оценку в формате: Student: [name], Grade: [grade]
Попробуйте сами
package main
import (
"fmt"
"sort"
)
func main() {
// Словарь оценок студентов
studentGrades := map[string]string{
"Alice": "A",
"Bob": "B",
"Charlie": "B+",
"David": "A-",
"Eva": "C",
}
// Собрать имена студентов (ключи) в срез для сортировки
var names []string
for name := range studentGrades {
names = append(names, name)
}
sort.Strings(names)
// TODO: Пройти по отсортированному списку имён студентов
// и вывести имя и оценку каждого студента в формате:
// "Student: [name], Grade: [grade]"
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решенийПотренируйтесь самостоятельно: Онлайн-компилятор Go