Go语言之常量

一、常量的定义

常量:一经定义不可更改的量;功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率;使用常量可以保证数据,在整个运行期间内,不会被更改;常量的值仅仅支持,基础类型,字符串,字符,整型,浮点,布尔。

常量是在编译时被创建的,由于编译时的限制,定义常量的表达式必须为能被编译器求值的常量表达式(可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得)
常量间的所有算术运算、逻辑运算和比较运算的结果也是常量,对常量的类型转换操作或以下函数调用都是返回常量结果:len、cap、real、imag、complex 和 unsafe.Sizeof

二、常量的声明格式

常量的声明格式:const 常量名 <可选的类型> = 常量值 ;当不使用类型是,GO可以通过值推导出类型

	//不指定类型
	const PI = 3.14
	//指定类型
	const word string = "单词"
	//一行定义多个常量 c1=20 , c2=11
	const c1, c2 = 20, 11
	//使用 const()定义块,定义多个,每个常量单独一行
	const (
		c3 = 4
		c4 = 10
	)

三、iota 常量生成器

	//const配合iota关键字使用,可以定义一组由0开始+1迭代的常量
	const (
		ci1 = iota
		ci2 //ci2=1   相当于ci2=iota
		ci3 //ci3=2   相当于ci3=iota
	)
	fmt.Printf("ci1=%v,ci2=%v,ci3=%v", ci1, ci2, ci3) //ci1=0,ci2=1,ci3=2
	fmt.Println()

	//可以在同一行使用多个iota,他们会各种递增不会相关干扰。
	const (
		i, j = 2 * iota, iota
		m, n
	)

	fmt.Printf("i=%v,j=%v,m=%v ,n=%v", i, j, m, n) //i=0,j=0,m=2 ,n=1
	//在同一行,iota相同
	const (
		e, f, g = iota, iota, iota //e=0,f=0,g=0
	)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值