Go语言之常量与运算符

little_newBee · · 1270 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

常量与运算符

  1. 常量声明后必须要赋值,在常量声明组中,赋值可以是向上原则
    举例:
    const (
    aa1 = 1
    bb1
    cc1
    )
    bb1和cc1没有赋值,那么bb1遵循向上原则,值等于aa1,然后cc1遵循向上原则,cc1等于bb1的值,这样三个常量都有了值。
  2. 枚举iota
    const (
    aa1 = iota
    bb1
    cc1
    )
    当一个常量组使用了iota,枚举时,组成员值开始从0以此递增。也就是说aa1= 0,bb1=1,那么下面怎么说

    const (
    aa1
    bb1 = iota
    cc1
    )
    结果是相同的,只要在这个组里面使用了iota,无论在哪里位置,都是从组第一个常量开始递增。
    它遇到const就会重置,例如:
    const (
    aa1
    bb1 = iota
    cc1 = iota
    )
    const (
    aa2 = iota
    bb2
    cc2
    )
    同一个组里面只存在一个iota,即使书写多个也是同一个,
    遇到了const,相当于界限,iota范围只在一个const范围内

  3. 小练习:利用iota,和常量,以及<<运算符实现计算机单位:B,KB,MB,GB的表示

    const (
    
    B float64 = 1 << (iota * 10)
    KB
    MB
    )
    定义为float是怕数据溢出,利用iota的自增长以及const组省略值后,后一个值跟随前一个值一样,这里是计算表达式的跟随,因为其中iota变化了,所以在计算时就变化了。实现了要求。
    
  4. 运算符:

    一元:^:数据加一取反,无论正负数。
         !:取非
    二元:^:异或
         &:与运算
         |:或运算
         &^:同样是位运算,第二个数的位如果是1,那么把第一 个数的对应位改为0,如果不是1,那么不变,这样结果是第一个数运算之后的结果。
    

有疑问加站长微信联系(非本文作者)

本文来自:CSDN博客

感谢作者:little_newBee

查看原文:Go语言之常量与运算符

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:701969077

1270 次点击  
加入收藏 微博
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传