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
posted @ 2020-04-25 09:20  紫色飞猪  阅读(313)  评论(0编辑  收藏  举报