在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
一、复习常量 提到Iota这个关键字,就必须要复习一下Go语言的常量。 1.Go语言的常量一般使用const声明 2.Go语言的常量只能是布尔型、数字型(整数型、浮点型和复数)和字符串型 3.Go语言的常量可以不指定类型,由编译器自己推断,如下面的【string】就是可以不写的(也称为 隐式类型定义) const s string = "constant" 4.常量不能在程序运行时改变 二、Iota的用法 通过一个具体的事例,来看iota的特性。例下面的代码输出的结果每一个常量的值是什么? package IotaDemo import ( "fmt" ) const( a = iota b c ) const( m=1<<iota n=2<<iota x=10 y = iota z=iota>>1 o ) func IotaTest() { fmt.Println("a=",a) fmt.Println("b=",b) fmt.Println("c=",c) fmt.Println("m=",m) fmt.Println("n=",n) fmt.Println("x=",x) fmt.Println("y=",y) fmt.Println("z=",z) fmt.Println("o=",o) } 结果如下: a= 0 b= 1 c= 2 m= 1 n= 4 x= 10 y= 3 z= 2 o= 2 上面的结果说明了iota的特性,如下:
补充移位操作知识点: 对于Go语言的<<(右移)和 >>(左移)操作,关键点如下: 1.将移位的值先转换成2进制,右移动就是高位补0,左移就是低位补0 2.操作符右边的是需要移动的位数,左边是待移动的值, 例如 1<<3 就是把1向左移动3位,即00000001 左移3位 变为 00000100 就是4 3<<1 就是把3向左移动1为,即00000011 左移1为 变为 00000110 就是6 更多可以参考:https://www.sojson.com/operation/go.html
|
请发表评论