`impl ... for` 是什么意思?

时间:2021-01-31 08:50:26

标签: rust

我看到 Rust 代码库中经常出现以下模式,但我找不到解释为什么要使用它。

impl ... for 结构用于什么目的?

伪代码:

impl Handler {
    pub fn method1() -> () {
    }
}
impl Dummy for Handler {
    pub fn method2() -> () {
    }
}

1 个答案:

答案 0 :(得分:8)

impl Struct ...Struct 添加了一些方法。这些方法不适用于其他类型或特征。

impl Trait for Struct .. 为结构体 Trait 实现了特征 Struct。这导致 trait 的方法可用于 Struct

所以,尽管这两种语法看起来很相似,但它们做了两件完全不同的事情。 impl Struct ... 向类型添加新的(先前未定义的)方法,而另一个向类型添加先前定义的方法(来自特征)。