在 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
属性主要用于自动实现方法,而不是处理默认值。