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)
}

本文通过具体示例详细介绍了Go语言中接口的概念及其如何被不同类型实现。通过定义多个层级的接口并由不同结构体实现这些接口,展示了Go语言灵活的接口实现机制。
6266

被折叠的 条评论
为什么被折叠?



