在 Rust 中,derive
屬性主要用于自動實現一些常見類型的方法,如 Debug
、Clone
、PartialEq
等。然而,derive
并不能直接處理默認值。
如果你想要為結構體字段設置默認值,可以使用以下方法:
struct MyStruct {
field1: i32,
field2: String,
// 設置默認值
field3: bool = true,
}
fn main() {
let my_struct = MyStruct {
field1: 42,
field2: "hello".to_string(),
};
}
struct MyStruct {
field1: i32,
field2: String,
field3: bool,
}
impl MyStruct {
// 構造函數,設置默認值
fn new(field1: i32, field2: String) -> Self {
MyStruct {
field1,
field2,
field3: true,
}
}
}
fn main() {
let my_struct = MyStruct::new(42, "hello".to_string());
}
在這兩種方法中,你都可以為結構體字段設置默認值。derive
屬性主要用于自動實現方法,而不是處理默認值。