// dictionary
パターンマッチング(Pattern Matching).
パターンマッチング(Pattern Matching)
Rustのパターンマッチングは、値の構造に基づいて異なる処理を実行する仕組みです。Option 型やResult 型と組み合わせることで、安全なエラーハンドリングが実現できます。
match式
fn main() {
let number = 42;
match number {
1 | 2 | 3 => println!("小さい数字"),
42 => println!("答えは42!"),
_ => println!("その他"),
}
}
Enum のパターンマッチング
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
}
fn process(msg: Message) {
match msg {
Message::Quit => println!("終了"),
Message::Move { x, y } => println!("({}, {}) に移動", x, y),
Message::Write(text) => println!("テキスト: {}", text),
}
}
ifletとのmatch
複数のパターンではなく1つだけチェックする場合、if let が便利です:
if let Message::Write(text) = msg {
println!("{}", text);
}詳細はOption 型を参照してください。