go语言学习-iota和左移右移的用法

栏目: Go · 发布时间: 7年前

内容简介:在go语言中iota比较特殊,是一个被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字就会自动加1左移运算符"<<“是双目运算符。左移n位就是乘以2的n次方。 其功能把”<<“左边的运算数的各二进位全部左移若干位,由”<<"右边的数指定移动的位数,高位丢弃,低位补0。右移运算符">>“是双目运算符。右移n位就是除以2的n次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。

go 语言中iota比较特殊,是一个被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字就会自动加1

左移运算符"<<“是双目运算符。左移n位就是乘以2的n次方。 其功能把”<<“左边的运算数的各二进位全部左移若干位,由”<<"右边的数指定移动的位数,高位丢弃,低位补0。

右移运算符">>“是双目运算符。右移n位就是除以2的n次方。 其功能是把”>>“左边的运算数的各二进位全部右移若干位,”>>"右边的数指定移动的位数。

package iota

import "fmt"

func Test()  {

	const(
		c1 = iota  //c1=0
		c2 = iota  //c2=1
		c3 = iota  //c3=2
	)

	fmt.Println("c1 = ",c1," c2 = ",c2," c3 = ",c3,"\n")

	const(
		a = 1 << iota //a = 1
		b = 1 << iota //b = 2
		c = 1 << iota //c = 4
	)
	fmt.Println("a = ",a," b = ",b," c = ",c,"\n")

	const(
		v1 = iota //v1 = 0
		v2        //v2 = 1
		v3        //v3 = 2
	)
	fmt.Println("v1 = ",v1," v2 = ",v2," v3 = ",v3,"\n")

	const(
		x = 1 <<iota //x = 1
		y			  //y = 2
		z             //z = 4
	)
	fmt.Println("x = ",x," y = ",y," z = ",z)
}

代码执行结果和上面注释相同:

go语言学习-iota和左移右移的用法

欢迎关注问我团队公众号:

go语言学习-iota和左移右移的用法


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

ECMAScript6入门

ECMAScript6入门

阮一峰 / 电子工业出版社 / 2014-8 / 49.00元

《ECMAScript6入门》全面介绍了ECMAScript6新引入的语法特性,覆盖了ECMAScript6与ECMAScript5的所有不同之处,对涉及的语法知识给予了详细介绍,并给出了大量简洁易懂的示例代码。 《ECMAScript6入门》为中级难度,适合已有一定JavaScript语言基础的读者,用来了解这门语言的最新发展;也可当作参考手册,查寻新增的语法点。一起来看看 《ECMAScript6入门》 这本书的介绍吧!

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具