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

Замена поля структуры в Rust

Поле меняют, если переменная объявлена изменяемой. Перед именем ставят слово mut, затем через точку выбирают поле и присваивают новое значение того же типа.

Остальные поля при одной замене не трогают. Можно по очереди обновить и имя, и возраст, если тип поля это позволяет.

Объявим изменяемого пользователя и увеличим возраст на единицу:

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

Увеличим возраст у изменяемого значения:

let mut user = User { name: "ann", age: 20 }; user.age = 21; println!("{}", user.age);

На экране 21. Без mut присваивание полю не собирается: компилятор требует изменяемую переменную.

Текстовое поле тоже можно заменить другим литералом того же типа ссылки:

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

Заменим имя и возраст:

let mut user = User { name: "ann", age: 20 }; user.name = "amy"; user.age = 22; println!("{}", user.name);

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

struct User { name: &'static str, age: i32, } let mut user = User { name: "ann", age: 20 };

Замените поле age на 30 и выведите его на экран.

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

struct User { name: &'static str, age: i32, } let user = User { name: "ann", age: 20 };

Скажите, соберется ли присваивание user.age = 21 без слова mut.

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

struct Counter { value: i32, } let mut counter = Counter { value: 0 };

Три раза увеличьте value на 1 и выведите итог.

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