Создание Hash Map
Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 28 из 66.
Теперь, когда вы понимаете, что такое хеш-карты, давайте узнаем, как их создавать. Чтобы использовать хеш-карты в Rust, вам сначала нужно импортировать тип HashMap в область видимости с помощью оператора use в начале вашего файла:
use std::collections::HashMap;После того как вы импортировали HashMap, вы можете создать новую пустую хеш-карту, используя функцию HashMap::new():
let mut scores = HashMap::new();Обратите внимание, что мы объявляем хеш-карту как mut, потому что мы, скорее всего, захотим добавить в неё данные позже. Когда вы создаёте пустую хеш-карту таким образом, Rust не знает, какими будут типы ключей и значений, пока вы не начнёте вставлять данные.
Вы также можете явно указать типы, если хотите:
let mut scores: HashMap<String, i32> = HashMap::new();Это создает хеш-карту, которая будет хранить ключи String (например, имена студентов) и значения i32 (например, результаты тестов). Пустая хеш-карта теперь готова к хранению ваших пар ключ-значение.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Шпаргалка
Чтобы использовать хеш-карты в Rust, импортируйте HashMap из стандартной библиотеки:
use std::collections::HashMap;Создайте пустую хеш-карту с неявной типизацией:
let mut scores = HashMap::new();Создайте пустую хеш-карту с явной аннотацией типов:
let mut scores: HashMap<String, i32> = HashMap::new();Хеш-карты должны быть объявлены как mut, если вы планируете их изменять. При использовании неявной типизации Rust выводит типы ключей и значений при вставке данных.
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Logic & Flow
1Продвинутое управление потоком выполнения
Выражение 'match'Сопоставление нескольких значенийСопоставление диапазоновВыражение 'if let'Циклы как выраженияИтоги — Простой парсер команд4Группировка данных с помощью структур
Что такое структура?Обзор структурДоступ к полям структурыИзменяемые структурыСтруктуры как параметры функцийКортежные структурыИтоги: создание структуры Book7Обработка ошибок с помощью 'Result'
Что такое 'Result'?Использование 'match' с 'Result'is_ok() и is_err()Сокращения: unwrap и expectОператор вопросительного знака '?'Парсинг строк в числаИтоги: функция безопасного деления10Замыкания и анонимные функции
Что такое замыкание?Определение простого замыканияЗамыкания с параметрамиЗахват окруженияИтоги: Простое замыкание-сумматор2Введение в векторы
Что такое вектор?Создание вектораДобавление элементов с помощью pushДоступ к элементам вектораИтерация по векторуИзменяемая итерацияУдаление элементовИтоги — Простой счетчик очков5Пары «ключ-значение» в Hash Map
Что такое Hash Map?Создание Hash MapВставка пар «ключ-значение»Доступ к значениямИтерация по Hash MapОбновление значенияУдаление парыИтоги — Счетчик слов8Проект: Простой инвентарь товаров
Настройка проектаДобавление товараПроверка наличияПродажа товараСобираем всё воедино3Список дел в командной строке
Настройка проектаДобавление задачиПросмотр всех задачУдаление задачиИтоговый код6Обработка отсутствия значения с 'Option'
Что такое 'Option'?Использование 'match' с 'Option'is_some() и is_none()Распаковка 'Option'Метод expectЗначение по умолчанию: unwrap_orИтоги: поиск элемента