在go语言中,只要一个类型实现了一个接口含有的方法,我们就可认为该类型实现了该接口,下面是go语言中一个简单的类型和接口的例子。
package main
import (
"fmt"
)
//定义一个接口,实现run方法
type IRun interface {
run()
}
//定义一个大人的类型
type man struct {
}
//定义一个小孩类型
type kid struct {
}
//为大人实现run方法,实质也是为大人实现了IRun接口
func (m *man) run() {
fmt.Println("大人在跑")
}
//为小孩实现run方法,实质也是为小孩实现了IRun接口
func (k *kid) run() {
fmt.Println("小孩在跑")
}
func main() {
var krun IRun = new(kid)
krun.run()
var mrun IRun = new(man)
mrun.run()
}
//×---------------------运行结果------------------×//
小孩在跑
大人在跑