类型自动使用其string方法

题目:

下面这段代码输出什么?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
type Direction int

const (
North Direction = iota
East
South
West
)

func (d Direction) String() string {
return [...]string{"North", "East", "South", "West"}[d]
}

func main() {
fmt.Println(South)
}

答案解析:

参考答案及解析:South。知识点:iota 的用法、类型的 String() 方法。

根据 iota 的用法推断出 South 的值是 2;另外,如果类型定义了 String() 方法,当使用 fmt.Printf()fmt.Print()fmt.Println() 会自动使用 String() 方法,实现字符串的打印。

Reference:

  1. https://wiki.jikexueyuan.com/project/the-way-to-go/10.7.html
  2. https://www.sunansheng.com/archives/24.html
  3. https://yourbasic.org/golang/iota/

类型自动使用其string方法
http://example.com/2023/07/31/Go每日一题/类型自动使用其string方法/
作者
Feng Tao
发布于
2023年7月31日
更新于
2023年7月31日
许可协议