跳过值

即使未使用 iota,iota 的值仍会为常量列表中的每个条目递增:

const ( // iota is reset to 0
    a = 1 << iota  // a == 1
    b = 1 << iota  // b == 2
    c = 3          // c == 3  (iota is not used but still incremented)
    d = 1 << iota  // d == 8
)

即使根本没有创建常量,它也会递增,这意味着空标识符可以用于完全跳过值:

const (
  a = iota // a = 0
  _        // iota is incremented
  b        // b = 2
)

第一个代码块取自 Go Spec (CC-BY 3.0)。