1、iota是什么
iota是常量的计数器,可以理解为const定义常量的行数的索引,注意是行数。
const中每新增一行常量声明将使iota计数一次,前提是iota在const中出现。
2、应用场景
主要应用场景是在需要枚举的地方
3、易错点
因为iota一般出现在const语句块的第一行,不少初学者会将之认为iota就是0,这是不对的。
准确的说:iota出现在const语句块中的第几行,那值就是几,当然这里的行数的索引也是以0为开始。
package main
import "fmt"
const (
a = iota // 0
b // 1
c // 2
)
const (
x = 1 // 1
y = iota // 1
z // 2
)
// 为什么c1不是2? 因为b1为100,按照golang常量定义的简便写法,所以c1为100
const (
a1 = iota //0
b1 = 100 //100
c1 //100
d1 = iota //3
e1 //4
)
func main() {
fmt.Println(a, b, c)
fmt.Println(x, y, z)
fmt.Println(a1, b1, c1, d1, e1)
}
golang常量定义的简便写法:
const (
b3 = 88 // 88
b7 // 88
b6 // 88
)