接口嵌套
# 接口嵌套
- Go语言在接口是允许嵌套的(可以把嵌套理解为继承)
示例代码
package main
import "fmt"
func main() {
/*
接口嵌套
*/
var cat Cat = Cat{}
cat.test1()
cat.test2()
cat.test3()
fmt.Println("---------------")
var a1 A = cat
a1.test1()
fmt.Println("---------------")
var b1 B = cat
b1.test2()
fmt.Println("----------------")
var c1 C = cat
c1.test1()
c1.test2()
c1.test3()
fmt.Println("----------------")
//var c2 C =a1
var a2 A = c1
a2.test1()
}
type A interface {
test1()
}
type B interface {
test2()
}
type C interface {
A
B
test3()
}
type Cat struct { //如果想实现接口C,那么不知要实现接口C的方法,还要实现接口A、接口B中的方法
}
func (c Cat) test1() {
fmt.Println("test1()...")
}
func (c Cat) test2() {
fmt.Println("test2()...")
}
func (c Cat) test3() {
fmt.Println("test3()...")
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
上次更新: 2024/04/09, 16:48:42
- 01
- AWS NAT-NetWork-Firwalld配置(一)04-09
- 02
- AWS NAT-NetWork-Firwalld配置(二)04-09
- 03
- kubernetes部署minio对象存储01-18