在golang中,可以看到iota的大量使用,但是这玩意的可读性的确不怎么好,还好用的是goland,可以显示其具体值。
比如,Mutex 包中的
const (
mutexLocked = 1 << iota // 1 << 0 equal 1
mutexWoken // 1 << 1 equal 2
mutexStarving // 1 << 2 equal 4
mutexWaiterShift = iota // 3
)
<<
为位运算,左移,A << B
意思是将 A 左移 B 位。