在 Go 中,方法透過使用接收器附加到類型。這就提出了一個問題:接收器到底是什麼,它與參數有何不同?
接收器:一種特殊的參數
接收器是一個參數的特殊情況。在方法簽章 func (p *Page) save() 錯誤中,接收者是 p。從語法上講,接收者是方法簽名中聲明的第一個參數。
接收者和參數之間的主要區別在於它與其「所屬」類型的關聯。接收者允許方法與其操作的類型關聯起來,使其更加直觀和容易理解。
範例:save()方法
中給定方法簽章 func (p *Page) save() 錯誤,接收者 p 是指向 Page 類型的指標。這意味著 save() 方法只能在 *Page 的實例上呼叫。此方法可以存取和修改底層 Page 物件。
語法等效
雖然接收者在語法上與參數不同,但在功能上是等效的。以下兩個程式碼片段是等效的:
func (p *Page) save() error {
以上是Go 方法:接收者和參數有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!