iota 是 Go 中从 0 开始、在 const 块中自动递增的特殊常量生成器;iota + iota 等价于 2 * iota,生成偶数序列 0, 2, 4…,但因可读性差且易误解,不推荐使用。
在 Go 语言中,iota 是一个特殊常量

iota + iota 并不是一个常见或推荐的写法,它在语义上等价于 2 * iota,且只在常量块中有效。
iota 从 0 开始,在每个 const 声明块中自动递增。每出现一次新的常量声明(即换行或新 const 行),iota 加 1。
在同一行中写 iota + iota,相当于把当前 iota 值乘以 2:
iota 是 0 → iota + iota = 0iota 是 1 → iota + iota = 2iota 是 2 → iota + iota = 4这种写法可读性差,容易让人误以为是两个独立的 iota 实例(其实不是)。Go 中 iota 是一个值,不是变量,不能“调用”或“重复取值”。更清晰的写法是:
2 * iota 明确表达意图FlagRead = 1 )配合位移,这是更常见的模式
想定义一组翻倍的常量,推荐这样写:
const ( A = 1