【golang】iota

iota是go语言的常量计数器,只能在常量的表达式中使用。

iotaconst关键字出现时将被重置为0。const中每新增一行常量声明将使iota计数一次(iota可理解为const语句块中的行索引)。 使用iota能简化定义,在定义枚举时很有用。

举个例子:

const(
	a1=iota //0
	//定义常量时不给定值,表示和上一行的值相等,所以下一行相当于"a2=iota'
	//并且iota在新增一行常量声明时会+1
	a2      //1		
	a3      //2
	a4      //3
)

常见的iota示例:
使用_跳过某些值:

const(
	b1=iota   //0
	b2        //1
	_         //2
	b4        //3
)

iota声明中间插队

const (
		c1 = iota //0
		c2 = 100  //100    iota=1
		c3 = iota //2
		c4        //3
	)
	const c5 = iota //遇到新的常量声明  iota重置为0

多个常量声明在一行:

const(
	//ioat只有在const声明中新增一行时才+1;无论这一行有几个常量
	d1,d2=ioat+1,ioat+2
	d3,d4=ioat+1,ioat+2
)

d1=1
d2=2
d3=2
d4=3

定义数量级:

const(
	_ =ioat				//ioat=0
	KB = 1 << (10*ioat)	//ioat=1
	MB = 1 << (10*ioat) //ioat=2
	GB = 1 << (10*ioat) //...
	TB = 1 << (10*ioat)
	PB = 1 << (10*ioat)
)

<<为左移操作符(针对其二进制位)
例如:1的二进制位左移10位的结果是:10000000000,转化为十进制数就是:1024

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值