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 的默認特性有助于提高代碼的可讀性、可維護性和性能。通過利用默認實現,你可以更簡潔地編寫代碼,同時保持代碼的模塊化和可擴展性。