Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗rsPmSrDc 236 of 373 menu
◀ ▶

Объявление структуры в Rust

Тип с полями объявляют до функции main. Сначала идет слово для структуры, затем имя типа и список полей в фигурных скобках. У каждого поля свое имя, двоеточие и тип, поля разделяют запятой.

Текстовое имя в поле часто берут как ссылку на строковый литерал с фиксированным временем жизни. Число возраста удобно хранить как целое i32. Такой набор полей описывает одного пользователя:

struct User { name: &'static str, age: i32, }

Создадим значение этого типа:

let user = User { name: "ann", age: 20 };

Имя типа User потом используют в литерале и в объявлении переменной. Объявление типа само по себе значение не создает: запись появляется только после литерала в теле программы.

В одном файле можно описать несколько типов подряд, каждый со своим именем и набором полей:

struct User { name: &'static str, age: i32, } struct Score { points: i32, bonus: i32, }

Создадим значение каждого типа:

let user = User { name: "ann", age: 20 }; let score = Score { points: 10, bonus: 2 };

Дана структура:

struct Book { title: &'static str, pages: i32, } let book = Book { title: "rust", pages: 300 };

Скажите, сколько полей описывает тип Book.

Дана структура:

struct Book { title: &'static str, pages: i32, } let book = Book { title: "rust", pages: 300 };

Добавьте к описанию поле year типа i32 и соберите значение с годом 2024, не меняя остальные поля в литерале.

Дана структура:

struct Pair { left: i32, right: i32, } let pair = Pair { left: 1, right: 2 };

Скажите, какой тип у поля right.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить