贝利信息

iota + iota

日期:2026-01-18 00:00 / 作者:冰川箭仙
iota 是 Go 中从 0 开始、在 const 块中自动递增的特殊常量生成器;iota + iota 等价于 2 * iota,生成偶数序列 0, 2, 4…,但因可读性差且易误解,不推荐使用。

在 Go 语言中,iota 是一个特殊常量

生成器,用于简化枚举值的定义。但 iota + iota 并不是一个常见或推荐的写法,它在语义上等价于 2 * iota,且只在常量块中有效。

什么是 iota

iota 从 0 开始,在每个 const 声明块中自动递增。每出现一次新的常量声明(即换行或新 const 行),iota 加 1。

iota + iota 的实际效果

在同一行中写 iota + iota,相当于把当前 iota 值乘以 2:

为什么不建议直接写 iota + iota

这种写法可读性差,容易让人误以为是两个独立的 iota 实例(其实不是)。Go 中 iota 是一个值,不是变量,不能“调用”或“重复取值”。更清晰的写法是:

正确示例

想定义一组翻倍的常量,推荐这样写:

const ( A = 1