举个例子:
a1) Distance方法的接收器参数是Point类型
a2) ScaleBy方法的接收器参数是*Point类型
b1) 变量p是Point类型
b2) 变量pptr是*Point类型
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)