Go Wiki:Iota

摘要

Go 的 iota 标识符用于 const 声明中,以简化递增数字的定义。由于它可用于表达式中,因此它提供的通用性超出了简单枚举的通用性。

每当保留字 const 出现在源代码中(即每个 const 块)时,iota 的值都会重置为 0,并且在每个 ConstSpec(例如每行)后递增 1。这可以与常量简写(省略常量名称之后的所有内容)结合使用,以非常简洁地定义相关常量。

Iota:https://golang.ac.cn/ref/spec#Iota

常量声明:https://golang.ac.cn/ref/spec#Constant_declarations

示例

官方规范有两个很好的示例

https://golang.ac.cn/ref/spec#Iota

以下来自 Effective Go

type ByteSize float64

const (
    _           = iota // ignore first value by assigning to blank identifier
    KB ByteSize = 1 << (10 * iota)
    MB
    GB
    TB
    PB
    EB
    ZB
    YB
)

Weekday 枚举示例 - Iota 的计算方式 - 来自 Learn Go Programming 博客

How iota works

文章


此内容是 Go Wiki 的一部分。