Golang的iota的特性:

1. iota在每个ConstBlock中自动归0.

2. iota在每个ConstSpec后自动增1.

换言之: iota是ConstBlock中ConstSpec的下标.

例如:

const (

item0 = 1

item1 = 1

item2 = 1

item3 = 1

item4 = 1

item5 = 1

item6 = iota

)
func main() { fmt.Println(item0, item1, item5, item6)}
输出结果:

1 1 1 6

可见, iota就是ConstBlock中ConstSpec的下标. 所以item6的值是6, 而不是0.

05-06 07:56