trait关键字
trait与具体类型
trait HasArea {
fn area(&self) -> f64;
}struct Circle {
x: f64,
y: f64,
radius: f64,
}
impl HasArea for Circle {
fn area(&self) -> f64 {
std::f64::consts::PI * (self.radius * self.radius)
}
}
fn main() {
let c = Circle {
x: 0.0f64,
y: 0.0f64,
radius: 1.0f64,
};
println!("circle c has an area of {}", c.area());
}trait与泛型
泛型的trait约束
多trait约束
where关键字
trait与内置类型
trait的默认方法
trait的继承
derive属性
Last updated