首頁 > 後端開發 > Golang > Go 方法:接收者和參數有什麼不同?

Go 方法:接收者和參數有什麼不同?

Susan Sarandon
發布: 2024-11-29 08:15:13
原創
200 人瀏覽過

Go Methods: What's the Difference Between a Receiver and a Parameter?

理解 Go 中參數和接收器之間的區別

在 Go 中,方法透過使用接收器附加到類型。這就提出了一個問題:接收器到底是什麼,它與參數有何不同?

接收器:一種特殊的參數

接收器是一個參數的特殊情況。在方法簽章 func (p *Page) save() 錯誤中,接收者是 p。從語法上講,接收者是方法簽名中聲明的第一個參數。

接收者和參數之間的主要區別在於它與其「所屬」類型的關聯。接收者允許方法與其操作的類型關聯起來,使其更加直觀和容易理解。

範例:save()方法

中給定方法簽章 func (p *Page) save() 錯誤,接收者 p 是指向 Page 類型的指標。這意味著 save() 方法只能在 *Page 的實例上呼叫。此方法可以存取和修改底層 Page 物件。

語法等效

雖然接收者在語法上與參數不同,但在功能上是等效的。以下兩個程式碼片段是等效的:

func (p *Page) save() error {
登入後複製

以上是Go 方法:接收者和參數有什麼不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板