Go 语言提供了另外一种数据类型即接口,它把所有的具有共性的方法定义在一起,任何其他类型只要实现了这些方法就是实现了这个接口。
package main
type inter1 interface {
F1()string
}
type inter2 interface {
F2()string
}
type inter3 interface {
F3()string
}
type inter0 interface {
inter1
inter2
}
type inter interface {
inter0
inter3
}
type A struct {}
type B struct {}
func(a A) F1() string{
return "F1:A :aaaa..."
}
func(a A) F2() string{
return "F2:A :aaaa..."
}
func(a A) F3() string{
return "F3:A :aaaa..."
}
func (b B) F1 ()string{
return "F1:B :bbb..."
}
func (b B) F2 ()string{
return "F2:B :bbb..."
}
func (b B) F3 ()string{
return "F3:B :bbb..."
}
func test(w inter) {
println(w.F1())
println(w.F2())
println(w.F3())
}
func main() {
a:=A{}
b:=B{}
test(a)
test(b)
}