Добавление и обновление пар ключ-значение
Часть раздела Основы путешествия по GO на Coddy — урок 87 из 109.
Чтобы добавить или обновить значения в объекте map, используйте оператор присваивания с ключом в квадратных скобках.
Создайте карту оценок студентов:
students := make(map[string]int)
// Добавление новых пар ключ-значение
students["Emma"] = 92
students["Jack"] = 78
fmt.Println(students)Результат:
map[Emma:92 Jack:78]Обновите существующее значение:
students["Jack"] = 85
fmt.Println(students)Результат:
map[Emma:92 Jack:85]Задание
НовичокВ этом испытании вы попрактикуетесь в добавлении и обновлении значений в карте (map). У нас есть карта, в которой хранятся любимые фрукты разных людей. Ваша задача — добавить любимый фрукт нового человека и обновить любимый фрукт уже существующего человека.
Шпаргалка
Чтобы добавить или обновить значения в карте (map), используйте оператор присваивания с ключом в квадратных скобках:
students := make(map[string]int)
// Добавление новых пар ключ-значение
students["Emma"] = 92
students["Jack"] = 78
// Обновление существующего значения
students["Jack"] = 85Попробуйте сами
package main
import (
"fmt"
"sort"
)
func main() {
// Карта людей и их любимых фруктов
favoriteFruits := map[string]string{
"Alice": "Apple",
"Bob": "Banana",
"Carol": "Cherry",
}
// TODO: Добавить новую запись для "David" с любимым фруктом "Dragon Fruit"
// TODO: Обновить любимый фрукт Боба на "Blueberry"
// Собрать имена (ключи) в срез, чтобы отсортировать их
var names []string
for person := range favoriteFruits {
names = append(names, person)
}
sort.Strings(names)
// Вывести обновленную карту в отсортированном порядке
fmt.Println("Updated favorite fruits:")
for _, person := range names {
fruit := favoriteFruits[person]
fmt.Printf("%s loves %s\n", person, fruit)
}
}
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
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`Итоги — Принятие решений9Указатели
Что такое указатель?Объявление переменных-указателейОператор взятия адресаРазыменование указателейИспользование указателей в функцияхНулевые указателиИтоги: Понимание указателей12Составные типы: Карты (Maps)
Введение в картыОбъявление литералов картСоздание карт с помощью `make`Добавление и обновление пар ключ-значениеДоступ к значениям картыПроверка существования ключаУдаление элементов картыДлина картыИтерация по картамИтоги: хранилище ключ-значение