Go 方法中的接收者與參數
在Go 中,理解接收者和參數的概念在使用方法時至關重要。
方法簽章通常包含宣告為方法接收者的參數。儘管它的名稱如此,此接收器是參數的特殊情況。
什麼是接收器?
接收器是一種語法功能,允許方法與具體類型。在給出的範例中:
func (p *Page) save() error
p *Page 是接收者,表示 save 方法附加到 *Page 類型。
Receiver 和 Parameter 之間的差異
接收者不是傳統參數,因為它不需要明確傳遞到方法中。相反,接收者由呼叫者自動提供。
例如,要呼叫 save 方法,您可以寫:
p := &Page{"My Page", "This is my page"} p.save()
在這種情況下,p *Page 變數是save 方法的接收器。
語法糖
接收器的使用只是語法糖。它允許以方便的方式將方法附加到類型。但是,您可以透過將接收者宣告為常規參數來實現相同的結果:
func save(p *Page) error
兩個聲明是等效的,並且會產生相同的結果。
有關進一步說明,請參閱提供了額外解釋的答案。
以上是Go 方法中的接收者與參數:真正的差異是什麼?的詳細內容。更多資訊請關注PHP中文網其他相關文章!