接口

题目

下面这段代码输出什么?

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
type A interface {
ShowA() int
}

type B interface {
ShowB() int
}

type Work struct {
i int
}

func (w Work) ShowA() int {
return w.i + 10
}

func (w Work) ShowB() int {
return w.i + 20
}

func main() {
c := Work{3}
var a A = c
var b B = c
fmt.Println(a.ShowA())
fmt.Println(b.ShowB())
}

答案解析:

参考答案及解析:13 23。

知识点:接口。一种类型实现多个接口,结构体 Work 分别实现了接口 A、B,所以接口变量 a、b 调用各自的方法 ShowA() 和 ShowB(),输出 13、23。


接口
http://example.com/2023/07/02/Go每日一题/接口/
作者
Feng Tao
发布于
2023年7月2日
更新于
2023年7月2日
许可协议