1、语言常量
常量:程序运行时,不会被修改的量
const identifier [type] = value;
显式 类型定义 const b string = "abc"
隐式: const b = "abc"
iota: 特殊常量,被认为可被编译器修改的量。
在const关键字出现时被重置为0,const中每新增一行便将iota计数一次(iota可以被认为const语句块中的行索引),iota可以被认为是枚举值。
const (
a = iota//=0
b = iota//1
c = iota//2
)
可以简化为
const (
a = iota
b
c
)
iota用法:
package main
import "fmt"
func main() {
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
}
import "fmt"
const (
i = 1<<iota
j = 3<<iota
k
l
)
func main() {
fmt.Println("i=",i)//1
fmt.Println("j=",j)//6
fmt.Println("k=",k)//1100 12
fmt.Println("l=",l)//11000 24
}//<<n==*(2^n)