为什么80%的码农都做不了架构师?>>>   

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

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

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

例一:

package iotaimport "fmt"func Test()  {const(c1 = iota  //c1=0c2 = iota  //c2=1c3 = iota  //c3=2)fmt.Println("c1 = ",c1," c2 = ",c2," c3 = ",c3,"\n")const(a = 1 << iota //a = 1b = 1 << iota //b = 2c = 1 << iota //c = 4)fmt.Println("a = ",a," b = ",b," c = ",c,"\n")const(v1 = iota //v1 = 0v2        //v2 = 1v3        //v3 = 2)fmt.Println("v1 = ",v1," v2 = ",v2," v3 = ",v3,"\n")const(x = 1 <<iota //x = 1y             //y = 2z             //z = 4)fmt.Println("x = ",x," y = ",y," z = ",z)
}

例二:

package mainimport ("fmt"
)func main() {const (a2 = 1 << iota   //iota = 0  a2 = 1 X 2的0次方b2 = 3 << iota   //iota = 1  b2 = 3 X 2的1次方c2               //iota = 2  c2 = 3 X 2的2次方d2               //iota = 3  d2 = 3 X 2的3次方e2 = 120 >> iota //iota = 4  e2 = 120 / 2的4次方f2               //iota = 5  f2 = 120 / 2的5次方)fmt.Println(a2, b2, c2, d2, e2, f2)//1 6 12 24 7 3
}

转载于:https://my.oschina.net/haoye/blog/1612097

iota和左移右移的用法相关推荐

  1. java中左移运算符解释_java左移右移运算符

    位运算(只对byte.short.char.int.long有效) 左移和右移运算相当于实现整数乘以或除以2的n次方 2.7三元运算符表达式1的结果为true时,就为第二个表达式,如果为...... ...

  2. c语言左移15位,关于c语言中左移右移运算符的问题

    参照<c与指针>,在c语言中左移时,不论算术左移还是逻辑左移效果都是相同的.而且对于有符号和无符号类型执行相同的操作,即按照二进制位向左左移N位.例如: 1 clude 2 intmain ...

  3. python左移右移位运算_Python这些位运算的妙用,绝对让你大开眼界

    位运算的性能大家想必是清楚的,效率绝对高.相信爱好源码的同学,在学习阅读源码的过程中会发现不少源码使用了位运算.但是为啥在实际编程过程中应用少呢?想必最大的原因,是较为难懂.不过,在面试的过程中,在手 ...

  4. java中的 31 和左移右移的关系简述

    java中的 31 和左移右移的关系简述 任何数乘以31 等于 这个数左移 五位 减去这个数 ​ n * 31 == (n << 5) - n " << " ...

  5. 一维数组反转c语言_C语言实现数组的循环左移,右移,翻转的示例

    数组结合指针可以实现很多有趣的功能,比如下面这个程序: 假设数组为 : 12345 如果左移一次即为:23451 ,依次类推 如果右移一次即为:51234 ,依次类推 翻转则为:54321 我们来实现 ...

  6. 左移右移位运算_计算机硬件技术基础M2——计算机运算基础(二)

    在上一篇中,我们学习到了计算机底层的一些机器码,以及一些行业标准,这一章,我们将接着学习机器码的一些比较与相关计算. 一.浮点数表示和定点数的比较 ① 当字长相同时,浮点数表示的范围要大得多. ②浮点 ...

  7. 位运算之左移右移运算之详解

    先看如下一段左移右移的代码及其结果: 代码 #include "stdio.h" char leftshift(char i, int n) { if(n < 0) retu ...

  8. EASYUI- EASYUI左移右移 GRID中值

    EASYUI左移右移 GRID中值 $("#addAll").click(function(){var ids = [];var names = [];var srcrows = ...

  9. 图片放大缩小旋转左移右移镜像倒影android

    图片放大缩小旋转左移右移镜像倒影 demo: TestImage 1. 将 meinv.jpg 图片拷贝到以下目录TestImage\app\src\main\res\mipmap-hdpi 1.An ...

最新文章

  1. [html] H5的哪些特性需要https支持呢?
  2. lombak-插件使用
  3. Spring Cloud教程 (二)应用程序上下文服务层次结构
  4. Linux之VMware Workstation16 pro上安装redhat
  5. C语言 流缓冲 Stream Buffering
  6. RN上使用react-native-video视频播放器插件
  7. 使用Struts之ActionForm
  8. 甘肃教育杂志甘肃教育杂志社甘肃教育编辑部2022年第15期目录
  9. 家装软件相关算法和技术归纳
  10. 基于python3的群聊聊天室
  11. 双模控制器很耗电_双模电动车控制器主要功能
  12. 面向对像(8day) 正则表达式,日志格式,json模块
  13. modelsim仿真加速注意点
  14. VMware ESXI 5.5 死机 红屏问题
  15. 开源jar包被各网站封锁收费?教你如何搜索并下载想要jar
  16. 当 BBR 面对时延抖动
  17. 码市:Coding 进入软件众包领域
  18. Linux中常用软件安装(基于Ubuntu)
  19. day 3:蓝桥杯python 杨辉三角知识点
  20. 下载Bing首页图片最简教程

热门文章

  1. Spring-security配置
  2. ZTE-中兴捧月-北京线下测试赛--B题
  3. Android TouchEvent 分发流程
  4. linux 下获取程序的绝对路径
  5. Vue.js 第二天: 列表渲染
  6. PowerDesigner 15 进行 数据库反转到 数据库模型
  7. asp.net学习笔记 在GridView中添加链接
  8. 10 个深恶痛绝的 Java 异常。。 1
  9. 极力推荐python初学者使用wingIDE
  10. 工业物联网将借助新兴技术实现华丽转身