用于调用指针方法的语法

时间:2014-03-14 13:57:03

标签: go

有些问题like this会遇到问题,在某些情况下会调用:

obj.method()

如果method接受指向对象的指针,则无效。但在某些情况下它是有效的(如果obj是可变的)。

问题:是否应始终使用(&obj).method()来保持一致性?否则,根据obj的传递方式,在同一“类型”上调用相同方法的代码不一致。

1 个答案:

答案 0 :(得分:2)

不,您应该在绝对必要时仅引用或取消引用该对象。当使用selectors时,Go会根据需要执行此操作,并且无论如何都将使用正确的接收器类型调用该方法。如果你另外写的话,那么你只会让试图阅读你代码的人感到困惑。