Что такое структура?
Часть раздела Logic & Flow путешествия по Rust на Coddy — урок 20 из 66.
До сих пор вы работали с отдельными фрагментами данных — одиночными числами, строками и коллекциями, такими как векторы. Но что происходит, когда вам нужно сгруппировать связанную информацию вместе? Например, как бы вы представили человека с именем, возрастом и адресом электронной почты?
Вот здесь на помощь приходят structs. struct — это способ Rust создавать пользовательские типы данных, объединяя связанные значения в единую организованную единицу.
Каждый элемент данных внутри структуры называется полем. Поля имеют имена и типы, что позволяет четко понимать, что представляет собой каждый элемент информации.
Пример структуры с различными типами полей:
struct Person {
name: String,
age: u32,
active: bool,
}Здесь структура Person имеет поле name типа String, поле age типа u32 и поле active типа bool.
Шпаргалка
Структура (struct) — это пользовательский тип данных, который объединяет связанные значения. Каждое значение внутри структуры называется полем, у которого есть имя и тип.
Определение структуры:
struct Person {
name: String,
age: u32,
active: bool,
}В этом примере Person — это структура с тремя полями: name (String), age (u32) и active (bool).
Попробуйте сами
В этом уроке нет задания по программированию.
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела 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Итоги: поиск элемента