構造体、列挙型、トレイト
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練習
サンプルをオンラインコンパイラーで開き、値を変えたり行を追加したりして、実行する前に出力を予想してみましょう。次に、わざとコードを壊してコンパイラーのメッセージを読んでみてください。
このレッスンを終えましたか?
学習済みにすると進み具合を記録できます。
進み具合はこのブラウザーに保存されています ログインすると、どのデバイスでも引き継げます。
チャレンジで練習する
このレッスンの内容を使って実際の問題を解きましょう。各チャレンジはブラウザで動き、すぐにテストされ、AI のレビューも受けられます。
すべてのチャレンジ