当前位置: 代码迷 >> 综合 >> 位左移与 iota 计数配合(Go语言)
  详细解决方案

位左移与 iota 计数配合(Go语言)

热度:96   发布时间:2024-01-09 07:39:27.0

自增长

在 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