常量声明可以使用iota常量生成器初始化,它用于生成一组以相似规则初始化的常量,但是不用每一行都写一边初始化表达式。
在一个const声明语句中,在第一个声明的变量所在行,iota将会被置为0,然后在每一个有常量声明的行加一。

1.iota生成器基本使用

  1. const(
  2. x = iota //x == 0
  3. y = iota //y == 1
  4. z = iota //z == 2
  5. w //这里隐式的表达了w = iota, 因此w == 3
  6. //所以y,z同样可以省去"= iota"
  7. )

2.iota在同一行,值相等

  1. const a, b, c = iota, iota, iota //在同一行的iota值相同,都为0

3.iota遇到关键字const都会重置为0

  1. const(
  2. x = iota //x == 0
  3. y = iota //y == 1
  4. z = iota //z == 2
  5. )
  6. const i, j, k = iota, iota, iota //iota重置为0,i,j,k都等于0

4.同一定义块内的所有类型都会被iota计算在内

  1. const(
  2. i = iota //i == 0
  3. j = iota //j == 1
  4. str = "asfdsaf"
  5. k = iota //k == 3
  6. )

5.iota支持运算

  1. const(
  2. i = iota*10 //i == 0
  3. j = iota*20 //j == 20
  4. k = iota*30 //k == 60
  5. )