Go编程笔记(31)

从某种意义上说,方法是函数的“语法糖”。当函数与某个特定的类型绑定,那么它就是一个方法。也证因为如此,我们可以将方法“还原”成函数。

instance.method(args)->(type).func(instance,args)

为了区别这两种方式,官方文档中将左边的称为Method Value,右边则是Method Expression。

Method Value是包装后的状态对象,总是与特定的对象实例关联在一起(类似闭包,拐带私奔),而Method Expression函数将Receiver作为第一个显式参数,调用时需额外传递。

你可能感兴趣的:(Go编程笔记(31))