一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持!
接口可以通过嵌套,创建新的接口。例如:飞鱼,既可以飞,又可以游泳。我们创建一个飞Fly接口,创建一个游泳接口Swim,飞鱼接口由这两个接口组成。
飞Fly接口
type Flyer interface {
fly()
}
创建Swimmer接口
type Swimmer interface {
swim()
}
组合一个接口FlyFish
type FlyFish interface {
Flyer
Swimmer
}
创建一个结构体Fish
type Fish struct {
}
实现这个组合接口
func (fish Fish) fly() {
fmt.Println("fly...")
}
func (fish Fish) swim() {
fmt.Println("swim...")
}
测试
package main
import "fmt"
type Flyer interface {
fly()
}
type Swimmer interface {
swim()
}
type FlyFish interface {
Flyer
Swimmer
}
type Fish struct {
}
func (fish Fish) fly() {
fmt.Println("fly...")
}
func (fish Fish) swim() {
fmt.Println("swim...")
}
func main() {
var ff FlyFish
ff = Fish{}
ff.fly()
ff.swim()
}
运行结果
[Running] go run "d:\SynologyDrive\软件开发\go\golang入门到项目实战\goproject\360duote.com\pro01\test.go"
fly...
swim...