我正在学习Go语言的教程,但是遇到了一个我无法理解的方法签名,希望得到帮助:
func (p *Page) save() error {
filename := p.Title + ".txt"
return ioutil.WriteFile(filename, p.Body, 0600)
}
文档中这样解释:
该方法的签名为:"这是一个名为 save 的方法,将 p 作为接收器,它是指向 Page 的指针。它不需要参数,并返回类型为 error 的值。"
我无法理解接收器(receiver)是什么。如果我把它看作参数,那么我会期望在 save()
中有一个参数。
this
。如果您熟悉Perl或Python,则相当于方法的第一个参数(通常在Python代码中为self
)。如果您不熟悉其中任何一种语言,那么...您熟悉其他面向对象的语言吗? - ruakh