后潜入文档我找不到答案,我的以下问题:围棋“这个” -keyword
有反对使用this
用于参照当前对象,如下面的示例中的任何原因?
type MyStruct struct {
someField string
}
func (this MyStruct) getSomeField() string {
return this.someField
}
后潜入文档我找不到答案,我的以下问题:围棋“这个” -keyword
有反对使用this
用于参照当前对象,如下面的示例中的任何原因?
type MyStruct struct {
someField string
}
func (this MyStruct) getSomeField() string {
return this.someField
}
没有技术理由不这样做。
它不违背一般的准则解释here:
不要使用通用名称,如“我”,“这个”或“自我”,典型的面向对象语言的标识符地方更重视方法而不是功能。
我还想补充一点,在使用this
(或self
)语言,this
总是指针。对于Go中的方法接收器,情况并非一定如此。
这是一个很好的编码风格的表格,谢谢。 – Atmocreations 2015-03-13 09:35:14
在函数定义中使用什么是一个好的,非泛型的名称?在'func(p Person)Foo()'中,'p'实际上并不比'this'更具描述性。 – 425nesp 2015-03-14 02:11:22
通用性和描述性(?)不一样。 'p'是一个非泛型选择,但*本身*不是很详细的描述。其描述性来自与其类型的组合。 – publysher 2015-03-14 07:26:02
这在Go中不是惯用的。在Python中,你也使用'self'而不是'this'或任何其他名称,因为它是惯用的。 – Kos 2015-03-13 09:23:07
'这','自','我'等从未描述过或好的标识符,一直是一个坏主意。如果你被困在一种需要你使用其中一种语言的语言中,你别无选择。 Go不是这样的语言,所以使用描述性和合理的东西。 – 2015-03-13 20:17:13