Struct, enum e trait
Rust Structs
Group related values into your own type with named fields.
Cosa imparerai
- 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.
Punti chiave
- A struct value must be mut to change a field.
- #[
derive(Debug)] lets {:?} print it. - ..user copies the remaining fields.
Esempio Rust eseguibile
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 falseEsercitati
Apri l'esempio nel compilatore online, cambia un valore o aggiungi una riga e prova a prevedere l'output prima di eseguirlo. Poi rompi il codice di proposito e leggi il messaggio del compilatore.
Hai finito questa lezione?
Segnala come imparata per tenere traccia dei tuoi progressi.
I tuoi progressi sono salvati in questo browser Accedi per conservarli su ogni dispositivo.
Esercitati con una sfida
Usa ciò che questa lezione spiega per risolvere un problema reale. Ogni sfida gira nel browser, con test immediati e una revisione dell'IA.
Tutte le sfide