Структуры, перечисления и трейты
Rust Structs
Group related values into your own type with named fields.
Что вы узнаете
- Defining a struct
- Reading and changing fields
- Struct update syntax
User
name"Ada"age37activetrueYour own type with named fields
A struct is a type you define by naming its fields. It keeps related data together, such as the name, age and status of a user.
A struct value must be declared mut before a field can change. #[derive(Debug)] lets {:?} print the whole struct. ..user fills the fields that are not listed from another value, here only age.
Главное
- A struct value must be mut to change a field.
- #[
derive(Debug)] lets {:?} print it. - ..user copies the remaining fields.
Пример на Rust, который можно запустить
Rust
main.rs
#[derive(Debug)]
struct User {
name: String,
age: u32,
active: bool,
}
fn main() {
let mut user = User {
name: String::from("Ada"),
age: 36,
active: true,
};
user.age += 1;
println!("{} is {}", user.name, user.age);
println!("{:?}", user);
let guest = User { name: String::from("Guest"), active: false, ..user };
println!("{} {} {}", guest.name, guest.age, guest.active);
}
Ada is 37
User { name: "Ada", age: 37, active: true }
Guest 37 falseПрактика
Откройте пример в онлайн-компиляторе, измените значение или добавьте строку и попробуйте предсказать вывод до запуска. Затем намеренно сломайте код и прочитайте сообщение компилятора.
Закончили этот урок?
Отметьте его как изученный, чтобы следить за прогрессом.
Ваш прогресс сохранён в этом браузере Войдите, чтобы он был доступен на всех устройствах.
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
Все задачи