常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每一行都写一边初始化表达式。
在一个const声明语句中,在第一个声明的变量所在行,iota将会被置为0,然后在每一个有常量声明的行加一。
1.iota生成器基本使用
const(
x = iota //x == 0
y = iota //y == 1
z = iota //z == 2
w //这里隐式的表达了w = iota, 因此w == 3
//所以y,z同样可以省去"= iota"
)
2.iota在同一行,值相等
const a, b, c = iota, iota, iota //在同一行的iota值相同,都为0
3.iota遇到关键字const都会重置为0
const(
x = iota //x == 0
y = iota //y == 1
z = iota //z == 2
)
const i, j, k = iota, iota, iota //iota重置为0,i,j,k都等于0
4.同一定义块内的所有类型都会被iota计算在内
const(
i = iota //i == 0
j = iota //j == 1
str = "asfdsaf"
k = iota //k == 3
)
5.iota支持运算
const(
i = iota*10 //i == 0
j = iota*20 //j == 20
k = iota*30 //k == 60
)