因为大部分方法在被调用后都需要维护接收者的状态,所以,一个最佳实践是,将方法的接收者声明为指针。
与直接通过值或指针调用方法不同,如果通过接口类型的值调用方法,规则有很大的不同。使用指针作为接收者声明的方法,只能在接口类型的值是一个指针的时侯被调用。使用值作为接收者声明的方法,在接口类型的值为值或指针时,都可以调用。
总结一下:值接收者使用 值的副本来调用方法,而指针接受者使用实际值来调用方法。
因为大部分方法在被调用后都需要维护接收者的状态,所以,一个最佳实践是,将方法的接收者声明为指针。
与直接通过值或指针调用方法不同,如果通过接口类型的值调用方法,规则有很大的不同。使用指针作为接收者声明的方法,只能在接口类型的值是一个指针的时侯被调用。使用值作为接收者声明的方法,在接口类型的值为值或指针时,都可以调用。
总结一下:值接收者使用 值的副本来调用方法,而指针接受者使用实际值来调用方法。