package main
import "fmt"
type I interface {
Io() error
}
type A struct {
}
func (r *A) Io() error {
fmt.Println("a i")
return nil
}
type B struct {
*A //使用匿名方式,才会隐式实现A所继承的接口
}
//自定义实现接口,类似于重写
func (r *B) Io() error {
fmt.Println("b i")
return nil
}
func p(i I) {
_ = i.Io()
}
func main() {
var a A
j := &a
var b B
i := &b
//p(b)//不可行,应使用指针型
p(j) //a i
p(i) //b i
}
go 关于接口的实现
猜你喜欢
转载自blog.csdn.net/takujo/article/details/103937707
今日推荐
周排行