我有一个嵌入类型 B 的类型 T,并且 *B 实现了 I。 *T 可以分配给类型 I 的变量,但不是在 T 的情况下,这是否意味着 (*T) 的方法集包含值和B的指针接收器?
package main
import (
"fmt"
)
type I interface {
Foo()
}
type B struct {}
type T struct {
B
}
func (a *B) Foo() {
fmt.Println("Bar")
}
func main() {
t := T{B{}}
// var i I = t -> error
var i I = &t
i.Foo()
}
Run Code Online (Sandbox Code Playgroud)