博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Go语言_iota用法
阅读量:6711 次
发布时间:2019-06-25

本文共 960 字,大约阅读时间需要 3 分钟。

一、介绍

iota,特殊常量,可以认为是一个可以被编译器修改的常量。

在每一个const关键字出现时,被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字会自动增加1。

iota 可以被用作枚举值:

package mainimport "fmt"func main() {    const (        a = iota   //0        b = iota   //1        c = iota   //2    )    fmt.Println(a,b,c)}

第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式:

const (        a = iota           b                c     )

 

二、用法

1,作为累加器

package mainimport "fmt"func main() {    const (            a = iota   //0            b          //1            c          //2            d = "ha"   //独立值,iota += 1            e          //"ha"   iota += 1            f = 100    //iota +=1            g          //100  iota +=1            h = iota   //7,恢复计数            i          //8    )    fmt.Println(a,b,c,d,e,f,g,h,i)}

 

2,移位运算

package mainimport "fmt"const (    i=1<

简单表述:

  • i=1:左移0位不变,所以仍为1;
  • j=3:左移一位从0000 0011变为0000 0110,所以为6;
  • k=3:左移两位从0000 0011变为0000 1100,所以为12;
  • l=3:左移三位从0000 0011变为0001 1000,所以为24。

 

三、参考资料

 

转载地址:http://lailo.baihongyu.com/

你可能感兴趣的文章
Kali Linux渗透基础知识整理(二)漏洞扫描
查看>>
【转】【Mysql】MySQL添加用户、删除用户与授权
查看>>
U面经Prepare: Print Binary Tree With No Two Nodes Share The Same Column
查看>>
Android SDK上手指南:知识测试
查看>>
基于对话框的应用程序,点击button打开一个网页
查看>>
C#和JAVA中编写事务代码
查看>>
How to build CppCMS 1.x.x
查看>>
LeetCode 208. Implement Trie (Prefix Tree)
查看>>
vuejs组件交互 - 03 - vuex状态管理实现组件交互
查看>>
C#多线程
查看>>
SQL Server 2017 安装过程中的一点说明(有点意思)
查看>>
Nginx+Uwsgi部署Django项目
查看>>
ubuntu 12.04 安装 codeblock 12.11
查看>>
Qt编写的RTSP播放器+视频监控(vlc版本)
查看>>
AspectJ的拓展学习--织入顺序和通知参数指定
查看>>
工程投诉过程中各建设主管理部门联系人表
查看>>
一起谈.NET技术,关于Expression Tree和IL Emit的所谓的&quot;性能差别&quot;
查看>>
CGI, mod_perl, PHP, JSP性能比较
查看>>
密码库 链接
查看>>
ZOJ 3505. Yet Another Set of Numbers 解题报告
查看>>