79_Go基础_1_47 接口嵌套
1 package main 2 3 import "fmt" 4 5 type A interface { 6 test1() 7 } 8 9 type B interface { 10 test2() 11 } 12 13 type C interface { 14 A 15 B 16 test3() 17 } 18 19 type Cat struct { 20 //如果想实现接口C,那不止要实现接口C的方法,还要实现接口A,B中的方法 21 } 22 23 func (c Cat) test1() { 24 fmt.Println("test1()....") 25 } 26 27 func (c Cat) test2() { 28 fmt.Println("test2()....") 29 } 30 31 func (c Cat) test3() { 32 fmt.Println("test3()....") 33 } 34 35 func main() { 36 /* 37 接口的嵌套: 38 */ 39 40 var cat Cat = Cat{} 41 cat.test1() 42 cat.test2() 43 cat.test3() 44 fmt.Println("--------------") 45 46 var a1 A = cat 47 a1.test1() 48 fmt.Println("--------------") 49 50 var b1 B = cat 51 b1.test2() 52 fmt.Println("--------------") 53 54 var c1 C = cat 55 c1.test1() 56 c1.test2() 57 c1.test3() 58 fmt.Println("----------") 59 60 //var c2 C = a1 61 var a2 A = c1 62 a2.test1() 63 }