为什么go中的receiver name不推荐使用this或者self

为什么go中的receiver name不推荐使用this或者self

为什么go中的receiver name不推荐使用this或者self

在 Go 中,receiver 是指作为方法参数的接收器,它可以是值类型或指针类型。在定义 receiver 时,不推荐使用 this 或 self 作为 receiver 的名称。

在其他语言中,如 Java 和 C++,this 或 self 用于表示当前实例或对象的引用,但是在 Go 中,this 和 self 是无效的标识符,不能用于变量名或方法名。

虽然在 Go 中可以使用 this 或 self 作为变量名或方法名,但是这并不符合 Go 代码的风格和惯例。根据 Go 代码规范,建议使用 receiver 类型的第一个字母作为 receiver 名称,比如:

type myType struct{}

// value receiver
func (m myType) myMethod() {
    // ...
}

// pointer receiver
func (m *myType) myMethod2() {
    // ...
}
本作品采用《CC 协议》,转载必须注明作者和本文链接
• 15年技术深耕:理论扎实 + 实战丰富,教学经验让复杂技术变简单 • 8年企业历练:不仅懂技术,更懂业务落地与项目实操 • 全栈服务力:技术培训 | 软件定制开发 | AI智能化升级 关注「上海PHP自学中心」获取实战干货
wangchunbo
讨论数量: 2

我觉得用this/self挺好的, abcd什么的变来变去有点烦

2年前 评论

我也是用this 。感觉这种只是叫什么。。go也没有this的关键字

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!
司机 @ 某医疗行业
文章
315
粉丝
353
喜欢
565
收藏
1136
排名:61
访问:12.6 万
私信
所有博文
社区赞助商