後潛入文檔我找不到答案,我的以下問題:圍棋「這個」 -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