Golang中方法的接受类型与调用类型

Golang中方法的接受类型与调用类型,第1张

概述举个例子: a1) Distance方法的接收器参数是Point类型a2) ScaleBy方法的接收器参数是*Point类型b1) 变量p是Point类型b2) 变量pptr是*Point类型 下面有三种情形: 1.b1调用a1,b2调用b2 p.Distance(q)pptr.ScaleBy(2) 2.b1调用a2(存在隐式转换) p.ScaleBy(2) // implicit (&p

举个例子:

a1) distance方法的接收器参数是Point类型a2) ScaleBy方法的接收器参数是*Point类型b1) 变量p是Point类型b2) 变量pptr是*Point类型

下面有三种情形:
1.b1调用a1,b2调用b2

p.distance(q)pptr.ScaleBy(2)

2.b1调用a2(存在隐式转换)

p.ScaleBy(2) // implicit (&p).ScaleBy(2)             // 注意p一定是一个变量,不然不会有&p *** 作

3.b2调用a1(存在隐私转换)

pptr.distance(q) // implicit (*pptr).distance(q)
总结

以上是内存溢出为你收集整理的Golang中方法的接受类型与调用类型全部内容,希望文章能够帮你解决Golang中方法的接受类型与调用类型所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1280866.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-09
下一篇 2022-06-09

发表评论

登录后才能评论

评论列表(0条)

保存