Go语言 之多态
package main import ( "fmt" ) //定义接口 type Person interface { sayHi() } //定义学生类 type Students struct { name string } //定义学生方法 func (s *Students) sayHi() { fmt.Printf("Students %s say hi\n", s.name) } //定义老师类 type Teacher struct { name string } func (t *Teacher) sayHi() { fmt.Printf("Teacher %s say hi\n", t.name) } //多态 func WhoSayHi(p Person) { p.sayHi() } func main() { s := &Students{"yy"} t := &Teacher{"yangs"} WhoSayHi(s) WhoSayHi(t) }

浙公网安备 33010602011771号