在Rust中,match
語句可以用來進行多條件判斷,它可以根據不同的條件執行不同的代碼塊。使用match
語句可以讓代碼更加簡潔和易讀。以下是一些使用match
簡化條件判斷的示例:
if-else
語句:// 使用 if-else 語句
let x = 42;
let result = if x > 0 {
"Positive"
} else if x < 0 {
"Negative"
} else {
"Zero"
};
// 使用 match 語句
let x = 42;
let result = match x {
x if x > 0 => "Positive",
x if x < 0 => "Negative",
_ => "Zero",
};
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
let msg = Message::Write(String::from("Hello, world!"));
// 使用 if-else 語句
match msg {
Message::Quit => println!("Quit"),
Message::Move { x, y } => println!("Move to ({}, {})", x, y),
Message::Write(text) => println!("Write: {}", text),
Message::ChangeColor(r, g, b) => println!("Change color to ({}, {}, {})", r, g, b),
}
// 使用 match 語句
match msg {
Message::Quit => println!("Quit"),
Message::Move { x, y } => println!("Move to ({}, {})", x, y),
Message::Write(text) => println!("Write: {}", text),
Message::ChangeColor(r, g, b) => println!("Change color to ({}, {}, {})", r, g, b),
}
在這些示例中,我們可以看到match
語句可以讓代碼更加簡潔,同時提高了可讀性。