1 | type Person interface { |
在这里,A 和B 都实现了Person 接口,但是实际上你可以理解为。结构体方法也是有一个隐含参数的。其中 A 的 Say方法里就隐含了一个形参 A,B则是隐含了B的指针。
也就是说,其实 A 实现了 person 接口,但是对于 B 是 B 的指针实现了这个接口。
于是对于 Test 方法,可以传入 A和*A
,但是对只能传入 *B
,因为 B 是没有实现这个接口的。
1 | type Person interface { |
在这里,A 和B 都实现了Person 接口,但是实际上你可以理解为。结构体方法也是有一个隐含参数的。其中 A 的 Say方法里就隐含了一个形参 A,B则是隐含了B的指针。
也就是说,其实 A 实现了 person 接口,但是对于 B 是 B 的指针实现了这个接口。
于是对于 Test 方法,可以传入 A和*A
,但是对只能传入 *B
,因为 B 是没有实现这个接口的。