golang方法集
方法集:定义了一组关联到给定类型的值或者指针的方法。定义方法时使用的接收者的类型决定了这个方法时关联到值,还是关联到指针,还是两个都关联。
规范里描述的方法集:
Values Methods Receivers ---------------------------------------------- T (t T) *T (t T) and (t *T)
T类型的值的方法集只包含值接收者声明的方法。而指向T类型的指针的方法集既 包含值接收者声明的方法,也包含指针接收者声明的方法。
接收者类型的角度来看方法集:
Methods Receviers Values ------------------------------------------ (t T) T and *T (t *T) *T
换成了接收者的视角:如果使用指针接收者来实现一个接口,那么只有指向那个类型的指针才能够实现对应的接口。如果使用值接收者来实现一个接口,那么那个类型的值和指针都能够实现对应的接口。
参考:https://blog.csdn.net/qihoo_tech/article/details/104707905
人生就是要不断折腾