关于这个" X没有实现Y(...方法有一个指针接收器) "的事情,已经有几个问答,但对我来说,他们似乎在谈论不同的事情,而不是适用于我的具体案例.
因此,我没有将问题变得非常具体,而是将其广泛和抽象化 - 似乎有几个不同的案例可以使这个错误发生,有人可以总结一下吗?
即,如何避免这个问题,如果发生,有什么可能性?谢谢.
在以下代码中
var a int
var b interface{}
b = a
fmt.Printf("%T, %T \n", a, &a)
fmt.Printf("%T, %T \n", b, &b)
Run Code Online (Sandbox Code Playgroud)
输出:
int, *int
int, *interface {}
Run Code Online (Sandbox Code Playgroud)
我希望&b的类型是int的指针.
我有两个问题:
1)为什么它是接口{}上的指针?
2)我怎样才能获得原始类型的指针?