要使类型满足接口,该类型需要实现接口中定义的方法。
但是,在下面的代码片段中,没有编写任何方法,但通过使用作为匿名字段,它满足 。myStructsomeInterfacesomeInterface
有人可以帮忙解释为什么吗?谢谢。
package main
import "fmt"
type someInterface interface {
method1(int) string
method2(string) string
}
type myStruct struct {
someInterface
body int
}
func main() {
var foo someInterface
bar := myStruct{}
foo = bar // why no compile error??
fmt.Println(foo)
}
holdtom
相关分类