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全部词条