看看下面显示的Go文档,我无法理解接收器和参数之间的区别:
func (p *Page) save() error {
filename := p.Title + ".txt"
return ioutil.WriteFile(filename, p.Body, 0600)
}
Run Code Online (Sandbox Code Playgroud)
此方法的签名读取:这是一个名为save的方法,它将接收器p作为指向Page的指针.它不带参数,并返回类型错误的值.
接收器就像this在C#中:在x.f(a, b, c)接收器中x,参数是a,b和c.执行该函数时,参数引用参数的副本.接收器和参数之间的重要区别在于,当接收器是呼叫站点的接口类型时,要调用的函数是动态确定的而不是静态的.
| 归档时间: |
|
| 查看次数: |
1121 次 |
| 最近记录: |