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