自增长
在 golang 中,一个方便的习惯就是使用 iota 标示符,它简化了常量用于增长数字的定义,给以上相同的值以准确的分类。
const (CategoryBooks = iota // 0CategoryHealth // 1CategoryClothing // 2
)
位左移常见实现存储单位的用例
使用位左移与 iota 计数配合可优雅地实现存储单位的常量枚举:
type ByteSize float64
const (_ = iota // 通过赋值给空白标识符来忽略值KB ByteSize = 1<<(10*iota)MBGBTBPBEBZBYB
)
在通讯中使用位左移表示标识的用例
type BitFlag int
const (Active BitFlag = 1 << iota // 1 << 0 == 1Send // 1 << 1 == 2Receive // 1 << 2 == 4
)flag := Active | Send // == 3