iota枚举

iota 核心特性

  1. iota 是 Go 语言的枚举 / 常量自动生成器 ,每隔一行,自动累加 1
  2. 专门用于常量赋值,简化批量常量定义
  3. iota 遇到 const 关键字时,自动重置为 0
  4. 常量组中可以只写一个 iota,后续行默认继承规则
  5. 同一行的多个常量,iota 值完全相同

1. 基础用法(逐行 + 1)

go

复制代码
const (
    a1 = iota  // 0
    a2         // 1(自动继承iota,+1)
    a3         // 2
)

2. 单独一个常量

go

复制代码
const (
    a1 = iota  // 0
)

3. 同一行赋值(值相同)

go

复制代码
const (
    b1, b2 = iota, iota  // b1=0,b2=0(同一行,值一样)
    c1, c2               // c1=1,c2=1
)

4. 遇到新 const 重置为 0

go

复制代码
const d1 = iota  // 0
const d2 = iota  // 0(新const,iota重置)
相关推荐
利威尔xu3 天前
Go map 底层崩溃:3 个 goroutine 并发写同一张 map,fatal error 崩掉整个服务
golang·源码·map·并发·后端开发
利威尔xu4 天前
2026-11-08-Go-defer-panic-recover面试
面试·golang
JWASX5 天前
【Go】map 源码解析 - group
后端·golang·map·源码分析
联犀5 天前
纯 Go 的 CAD 开源库 go-cad:直接解析 DWG/DXF,现在也能导出 PDF
开发语言·golang·pdf
FungLeo6 天前
成为全栈·Go 后端篇·三轮代码审阅之后:把可读性和证据做成工程规则
golang·go·ast·静态检查·成为全栈·代码审阅
联犀6 天前
联犀 Go SIMD 实战:视频转码从 16.5ms 到 5.46ms
开发语言·golang·音视频
紧跟先前的步伐6 天前
Go AI Agent 实战 28|Agent 的预算、超时与停止条件
开发语言·人工智能·后端·ai·golang
利威尔xu7 天前
2026-11-05-Go内存管理面试
面试·golang
Zenova EdgeOS8 天前
Go 工业边缘错误处理实战:用 errors 构建可追溯错误链
开发语言·数据库·golang
JavaPub-rodert8 天前
从零搭建通用管理后台:ShiyuAdmin 的 Go、React 与 RBAC 实践
开发语言·react.js·golang