iota 断档后重新开始计数的三种常用手法

2026-01-26 00:00:00 作者:舞姬之光
iota有三种重置方式:①用_ = iota跳过当前值;②显式赋值(如Deleted = 100)重启计数;③另起const块自然归零。

用下划线跳过当前 iota 值

当需要跳过某个枚举位置(比如预留、弃用或占位),直接写 _ = iota 即可。它会消耗一次 iota 递增,但不绑定任何名称,后续常量继续按新值计数。

例如:

const (
  _ = iota // 跳过 0
  Jan // Jan = 1
  Feb // Feb = 2
)

插入显式赋值重置序列

在断档处手动指定一个值(如 Start = 100),之后的无赋值常量会延续该起始值自动递增,相当于人为“重启”计数逻辑。

例如:

const (
  Unknown = iota // 0
  Active // 1
  _ // 2,跳过
  Deleted = 100 // 显式设为 100
  Archived // 101
  >Pending // 102
)

另起 const 块自然重置

iota 每次遇到新的 const 关键字都会自动归零。这是最清晰、最无副作

用的方式,适合逻辑分组明确的场景。

例如:

const (
  ModeRead = 1 // 1
  >ModeWrite // 2
)
const (
  StatusOK = iota // 0(新块,iota 重置)
  StatusErr // 1
)

猜你喜欢

联络方式:

400 9058 355

邮箱:8955556@qq.com

Q Q:8955556

微信二维码
在线咨询 拨打电话

电话

400 9058 355

微信二维码

微信二维码