概述
iota是一个特殊的常量,可以认为是一个可被编译器修改的常量iota的内部有个计数器,它从0开始,只要遇到iota就+1
iota 使用
iota 能够简化 const 类型的定义
const (
Naruto01 = iota
Naruto02
Naruto03
)
如果中断了 iota,那么必须显式的恢复,后续会自动递增
const (
D1 = iota + 1 // 自增类型默认是int类型
D2
S1 = "abc" // iota内部仍然会增加计数器
S2
D4 = iota // 显式恢复,赋值当前的iota数值
D5
)
每次出现 const 的时候,iota 初始值都归 0
const (
V1 = iota
V2
)
const (
K1 = iota
)
模拟 enum
使用 iota 定义枚举类型
package main
import "fmt"
type Ninja int
const (
Naruto Ninja = iota
Sakura
Sasuke
)
func main() {
fmt.Println(Naruto, Sakura, Sasuke)
}