
我认为这里有些混乱。
inc是类型的方法
*entity,而不是类型的方法
entity(虽然您可以直接在指针上调用值的方法;通常不能直接在值上调用指针的方法)。您可能会感到困惑的是为什么您可以打电话
e.inc()而不是去打电话
(&e).inc()。这是一个鲜为人知的特殊情况,在语言规范的“
调用”部分的底部有说明,即如果
x是可寻址的,并且
&x方法集包含
m,
x.m()则为的简写
(&x).m()。这适用于这种情况,因为
e是变量,因此是可寻址的;但是其他表达式可能无法寻址。我建议您不要使用此快捷方式,因为它会引起混乱;它使您认为它
e符合interface
inter,而事实并非如此。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)