golang 实现多态
package main
import "fmt"
//实现多态
//定义接口实现多态
type annimal interface{
speaker() string
}
//使用一个方法统一调用
func letAnnimalSay(a annimal){
s := a.speaker()
fmt.Println(s)
}
type Dog struct{
}
type Cat struct{
}
func (d Dog) speaker() string{//返回值与接口一致
return "dog-speaker"
}
func (c Cat) speaker() string{
return "cat-speaker"
}
func main(){
d := Dog{}
c := Cat{}
letAnnimalSay(d)
letAnnimalSay(c)
}
浙公网安备 33010602011771号