在 Go 语言的 const 中,如果使用 iota,每新有一行 iota 都会自加一,但是注意观察下面的例子:
const (
a,b = iota, 1<<iota
c, d
e, f
)
println(a, b, c, d, e, f)
得到的输出为 0 1 1 2 2 4
iota 在使用时,如果上一行有非空的表达式,那 iota 会取得上一行的表达式并运行它
const (
a,b = iota, 1<<iota
c, d = 100, 200
e, f
g, h = iota, iota + 1
)
println(a, b, c, d, e, f, g, h)
输出为 0 1 100 200 100 200 3 4
网友评论