跳过值
即使未使用 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)。