Rust界的“双胞胎”:Self和self,你真的了解它们吗?别以为穿个马甲就不认识你了
💡
原文中文,约1400字,阅读约需4分钟。
📝
内容提要
在Rust中,Self是类型别名,表示当前类型,常用于trait和impl中;而self是关键字,表示当前实例的引用,通常用于方法参数。理解二者的区别有助于更好地编写和阅读Rust代码。
🎯
关键要点
- Self是类型别名,表示当前类型,常用于trait和impl中。
- self是关键字,表示当前实例的引用,通常用于方法参数。
- 在Trait定义中,Self代表实现该trait的类型。
- 在impl中,Self引用当前实现类型的路径。
- self可以是&self(借用当前实例)、&mut self(可变借用当前实例)或self(获取当前实例的所有权)。
- Self通常在trait和impl块中使用,而self只能在方法定义中使用。
- Self可以用于返回类型和类型参数等,而self用于方法参数列表中。
➡️