在 Rust 中,default 關鍵字在開發中有很多用途。它主要用于為結構體、枚舉和元組等數據類型提供默認值。以下是一些常見的使用場景:
struct Person {
name: String,
age: u32,
address: Option<String>,
}
impl Person {
fn new() -> Self {
Person {
name: String::new(),
age: 0,
address: None,
}
}
}
在這個例子中,我們為 Person 結構體的字段提供了默認值。當我們創建一個新的 Person 實例時,如果沒有提供這些字段的值,它們將自動采用默認值。
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
fn handle_message(msg: Message) {
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),
}
}
在這個例子中,我們為 Message 枚舉的變體提供了默認值。當我們處理一個 Message 類型的變量時,如果沒有提供足夠的信息來匹配一個特定的變體,它將采用默認值。
fn print_tuple(t: (i32, f64, bool)) {
println!("First: {}, Second: {}, Third: {}", t.0, t.1, t.2);
}
fn main() {
let default_tuple = (0, 0.0, false);
print_tuple(default_tuple);
}
在這個例子中,我們為元組 t 的每個元素提供了默認值。當我們調用 print_tuple 函數時,如果沒有提供元組的值,它將使用默認值。
總之,default 關鍵字在 Rust 開發中非常有用,因為它允許我們為數據類型提供默認值,從而使代碼更加簡潔和易于理解。