代码点读机 / Rust / Self

Self Rust · 关键字

大写 Self 是 impl 块中当前类型的别名,避免重复写类型名,也常用于返回自身。

怎么用

impl 类型名 { fn new() -> Self { ... } }

小例子

struct 点 { x: i32, y: i32 }
impl 点 {
    fn 原点() -> Self {
        Self { x: 0, y: 0 }
    }
}
let p = 点::原点();
println!("{} {}", p.x, p.y);

运行结果

0 0

提醒:Self 在 impl 块里总是指被实现的类型

官方文档:https://doc.rust-lang.org/reference/items/associated-items.html#methods

在代码里遇到不认识的词?打开代码点读机,点一下就懂 → ← Rust全部词条