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用于方法参数列表中。
🏷️

标签

➡️

继续阅读