欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

go语言系列-常量

程序员文章站 2022-04-15 23:27:34
简介 常量是一个简单值的标识符,在程序运行时,不会被修改的量,即常量是恒定不变的值,声明常量的关键字是 const 。 常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义 案例演示 iota Go 语言预定义了这些常量:true、false 和 iota。 iot ......

简介

常量是一个简单值的标识符,在程序运行时,不会被修改的量,即常量是恒定不变的值,声明常量的关键字是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