
receiver为指针的方法,则没有实现对应的receiver为值的方法,值可以调用只是语法糖(取指针后调用)
编译器对接口则没有语法糖提供
method-value绑定的receiver在绑定时就确定了,乃是一个拷贝,而非外部变量
method-Expression则与普通的函数无异(注意receiver类型的不同)
package maintype INT intfunc (i INT) A() { print(int(i)," ")}func (i *INT) B() { print(int(*i)," ")}func (i INT) C() { i+=1}func (i *INT) D() { *i+=1}func main() { var i INT j:=&i a:=i.A b:=i.B c:=INT.A d:=(*INT).B i.B() i.C() i.B() i.D() i.B() print("\n-------\n") j.B() j.C() j.B() j.D() j.B() print("\n-------\n") a() b() c(i) d(&i) print("\n-------\n") i=INT(2) a() b() c(i) d(&i)}// 0 0 0 0// -------// 0 1 1 1 总结 以上是内存溢出为你收集整理的go的方法全部内容,希望文章能够帮你解决go的方法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)