You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言如何用iota让常量组按固定数值(如100)递增而非手动赋值?

用iota实现固定步长的常量赋值

当然可以用iota来替代手动逐个赋值,实现按固定数值(比如100)递增的常量组,完全不需要每个常量都写死数值。

先给你直接上符合需求的代码示例:

const (
    a = (iota + 1) * 100  // iota初始为0,(0+1)*100 = 100
    b                     // iota自增为1,(1+1)*100 = 200
    c                     // iota自增为2,(2+1)*100 = 300
)

原理说明

  • iota是Go语言的预声明标识符,在一个const声明块中,它从0开始,每新增一行常量声明就自动递增1。
  • 我们可以把iota和算术表达式结合,就能轻松实现固定步长的递增。比如这里的(iota + 1) * 100,就是让每个常量的值等于(当前iota值+1)乘以步长100,正好得到你要的100、200、300。

如果你的需求是从0开始按100递增(比如0、100、200),那更简单:

const (
    a = iota * 100  // 0*100 = 0
    b               // 1*100 = 100
    c               // 2*100 = 200
)

扩展说明

这种方式适用于任何固定步长,不管你想按50、200还是其他数值递增,只要把表达式里的100换成对应的步长值就行。而且整个常量组都能复用这个表达式,不需要重复写逻辑,非常简洁。

内容的提问来源于stack exchange,提问作者Amid

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.09 20:58:03