impl
是 Rust 编程语言中的一个关键字,用于实现类型的行为,包括但不限于:
1. 方法定义: impl
关键字用于为结构体(struct
)、枚举(enum
)、联合体(union
)、trait 对象、或者特质(trait
)本身定义关联方法。这些方法可以直接作用于类型的实例上,为类型提供操作或功能。
例如,为一个名为 Point
的结构体定义 distance_from_origin
方法:
struct Point {
x: f64,
y: f64,
}
impl Point {
fn distance_from_origin(&self) -> f64 {
(self.x.powi(2) + self.y.powi(2)).sqrt()
}
}
2. 特质(trait)实现: impl
也可以用于实现特定的特质(trait),为类型提供该特质所要求的行为。这样,该类型就可以被当作该特质的实例使用,并参与基于该特质的泛型编程和类型约束。
例如,为 Point
结构体实现 Display
特质,以便使用 {}