go语言系列-常量
简介
常量是一个简单值的标识符,在程序运行时,不会被修改的量,即常量是恒定不变的值,声明常量的关键字是const。
常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。
常量的定义
const constantName [type]= value
显示类型定义: const name string = "zisefeizhu"
隐式类型定义: const string = "zisefeizhu"
相同类型简写: const name, name1 = "zisefeizhu", "jingxing"
案例演示
func main() {
const (
name = "zisefeizhu"
age = 22
age2 //在批量声明常量的时候,如果其中有一个常量没有赋值,其内容和上一个常量一样
)
fmt.Println(name, age, age2)
}
//zisefeizhu 22 22
iota
Go 语言预定义了这些常量:true、false 和 iota。
iota 比较特殊,可以被认为是一个可被编译器修改的常量,它默认开始值是0,每调用一次加1。遇到 const 关键字时被重置为 0。
iota 可理解为是const 语句块中的行索引,使用iota 能简化定义,在定义枚举时很有用。
func main() {
const (
a = iota //0
b // b = iota //1
KB = 1 << (10 * iota) // 定义数量级 //1048576 //1 << 20
c // c = iota //1073741824 //1048576 * 1024
n = 100 //声明中间插队
d = 1 << iota //32 1<< 5
_ //使用_跳过某些值 //32 * 2 1 << 6
e = 1 << iota //128 //32 * 2 * 2 1 << 7
)
const ( //重新计数
x, y = iota + 1, iota+2 //1 2
f, g //2 3
)
fmt.Println(a,b,KB,c,n,d,e)
fmt.Println(x,y,f,g)
}
//0 1 1048576 1073741824 100 32 128
//1 2 2 3
过手如登山,一步一重天