Go 方法接收器和参数之间的区别是什么?

Go 方法接收器和参数之间的区别是什么?,go,Go,查看如下所示的Go文档,我很难理解接收器和参数之间的区别: func (p *Page) save() error { filename := p.Title + ".txt" return ioutil.WriteFile(filename, p.Body, 0600) } 此方法的签名为: 这是一个名为save的方法,它将p作为其接收器,p是指向 页它不接受任何参数,并返回类型为error的值 接收器类似于C中的this:在x.f(a,b,C)中,接收器是x,参数是

查看如下所示的Go文档,我很难理解接收器和参数之间的区别:

 func (p *Page) save() error {
     filename := p.Title + ".txt"
     return ioutil.WriteFile(filename, p.Body, 0600)
 }
此方法的签名为: 这是一个名为save的方法,它将p作为其接收器,p是指向 页它不接受任何参数,并返回类型为error的值


接收器类似于C中的
this
:在
x.f(a,b,C)
中,接收器是
x
,参数是
a
b
C
。执行函数时,参数引用参数的副本。接收器和参数之间的重要区别在于,当接收器是调用站点的接口类型时,要调用的函数是动态确定的,而不是静态确定的。

可能的重复