1. 多继承的时候
2. 指针
package main import "fmt" type Usb interface { Say() } type Stu struct { } func (this *Stu) Say() { fmt.Println("Say()") } func main() { var stu Stu = Stu{} //错误,会报 Stu类型没有实现Usb接口(就是没有实现方法) //var u Usb = stu //如果希望通过编译, var u Usb = &stu var u Usb = &stu //因为Usb接口是指针实现的,所以传个指针进去就行了 u.Say() fmt.Println("here", u) }