在 Rust 中,default
是一个属性,用于为结构体、枚举和元组中的字段提供默认值。当你在定义结构体或枚举时没有为某个字段指定值时,Rust 会自动使用该字段的默认值。
对于结构体,默认值是零值,即对于数字类型是 0,对于布尔类型是 false
,对于字符串类型是空字符串 ""
,对于数组和元组是元素的零值。
对于枚举,默认值是枚举中第一个变体的值。
下面是一些示例:
// 结构体示例
struct Person {
name: String,
age: u32,
is_student: bool,
}
fn main() {
let person = Person {
name: String::from("Alice"),
age: 30,
is_student: false, // 使用默认值
};
}
// 枚举示例
enum Message {
Quit,
Move { x: i32, y: i32 },
Write(String),
ChangeColor(i32, i32, i32),
}
fn main() {
let msg = Message::Move { x: 10, y: 20 }; // 使用默认值
}
在这个例子中,Person
结构体的 is_student
字段使用了默认值 false
,而 Message
枚举的第二个变体 Move
使用了默认值。