作者回复: 这是因为在Go Spec中有这样的定义 “The method set of the corresponding pointer type *T is the set of all methods declared with receiver *T or T (that is, it also contains the method set of T).“ 即指针类型可以访问定义在指针类型和值类型上的所有方法。可以参考这篇文章:https://suraj.io/post/golang-methods-interfaces/
作者回复: 那就我当做那个接口的实现使用。所以,Go更提倡小接口(单个方法)大的接口有小接口组成
作者回复: 嗯,只要是在结构上实现了interface的方法,则可以传入结构实例指针类型或者结构的实例。 如果方法是在结构的指针上实现的,则只能传入结构实例的指针。
作者回复: 非常感谢🙏指出
作者回复: 这里你可以简单的看作是GO的特殊写法。
作者回复: 这个为什么要用两段式呢,对于这个情况v后面的v有什么用呢?前面v已经被赋值并且可以在下面使用了。v的值是类型,你可以通过%T来输出