Go 方法接收器和参数之间的区别是什么?
查看如下所示的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,参数是
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
。执行函数时,参数引用参数的副本。接收器和参数之间的重要区别在于,当接收器是调用站点的接口类型时,要调用的函数是动态确定的,而不是静态确定的。可能的重复