Rust 的默认特性(default)带来了以下好处:
struct Person {
name: String,
age: u32,
}
impl Person {
fn new(name: String, age: u32) -> Self {
Person { name, age }
}
// 默认实现
fn greet(&self) {
println!("Hello, my name is {} and I am {} years old.", self.name, self.age);
}
}
fn main() {
let person = Person::new("Alice".to_string(), 30);
person.greet(); // 使用默认的 greet 方法实现
}
impl Person {
// 添加新方法
fn is_adult(&self) -> bool {
self.age >= 18
}
}
fn main() {
let person = Person::new("Bob".to_string(), 25);
println!("Is {} an adult? {}", person.name, person.is_adult());
}
减少样板代码:默认特性有助于减少样板代码,使得代码更加紧凑。你只需在需要的地方提供自定义实现,而不必为每个字段或方法编写相同的代码。
更好的编译器优化:Rust 编译器可以利用默认特性来生成更高效的代码。例如,当你在结构体中使用默认字段时,编译器可以自动为你分配内存,而不必显式地编写代码来实现这一点。
总之,Rust 的默认特性有助于提高代码的可读性、可维护性和性能。通过利用默认实现,你可以更简洁地编写代码,同时保持代码的模块化和可扩展性。