去"这个"关键字

Atm*_*ons 17 go

在深入研究文档后,我无法找到以下问题的答案:

是否有任何理由反对使用this引用当前对象,如下例所示?

type MyStruct struct {
  someField string
}

func (this MyStruct) getSomeField() string {
  return this.someField
}
Run Code Online (Sandbox Code Playgroud)

pub*_*her 22

没有技术理由不这样做.

它违反了这里解释的一般准则:

不要使用通用名称,例如"me","this"或"self",这是面向对象语言的典型标识符,它们更强调方法而不是函数.

我还想补充说,在使用this(或self)的语言中,this始终是一个指针.对于Go中的方法接收器,情况不一定如此.

  • 在函数定义中使用什么是好的,非泛型的名称?在`func(p Person)Foo()`中,`p`看起来并不比`this`更具描述性. (10认同)