- 说明
iota,特殊常量,可以认为是一个可以被编译器修改的常量。
iota 在 const关键字出现时将被重置为 0(const 内部的第一行之前),const 中每新增一行常量声明将使 iota 计数一次。
- 用法1
package main
import "fmt"
func main() {
const (
a = iota //0
b //1
c //2
d = "ha" //独立值,iota += 1
e //"ha" iota += 1
f = 100 //iota +=1
g //100 iota +=1
h = iota //7,恢复计数
i //8
j = iota +10 //19
k //20
)
fmt.Println(a,b,c,d,e,f,g,h,i,j,k)
}
输出结果:
0 1 2 ha ha 100 100 7 8 19 20
- 用法2
package main
import "fmt"
const (
i=1<<iota
j
k
l
)
func main() {
fmt.Println("i=",i)
fmt.Println("j=",j)
fmt.Println("k=",k)
fmt.Println("l=",l)
}
输出结果:
i= 1
j= 2
k= 4
l= 8