奇怪的go语言iota
来源:互联网 发布:大一c语言知识点总结 编辑:程序博客网 时间:2024/06/06 09:02
go语言iota有点奇怪,看下面代码:
package mainimport ( "fmt")const ( TestMin = -1 TestA TestB = iota TestC)func main() { fmt.Printf("TestMin:%d\n", TestMin) fmt.Printf("TestA:%d\n", TestA) fmt.Printf("TestB:%d\n", TestB) fmt.Printf("TestC:%d\n", TestC)}
上面代码的执行结果是什么呢?
结果是这样的,看到结果,对iota的用法就基本掌握了:
/*TestMin:-1TestA:-1TestB:2TestC:3*/
再来看一例:
package mainimport ( "fmt")const ( i=1<<iota j=3<<iota k l)func main() { fmt.Println("i=",i) fmt.Println("j=",j) fmt.Println("k=",k) fmt.Println("l=",l)}
执行结果:
i= 1j= 6k= 12l= 24
k等于12,l等于24是如何得出来的呢?
i=1<<iota j=3<<iota k l
也就是
i=1<<0 j=3<<1 k=3<<2 l=3<<3
iota每出现一次,自动加1;而前面的操作数如果不指定,默认使用上一个的,在这里是3;
0 0
- 奇怪的go语言iota
- go——奇怪的iota
- go语言中的iota
- [go语言]channel的一个“奇怪”特性
- go语言学习-iota和<<左移>>右移的用法
- Go语言基础:变量,常量,Boolean,字符串,iota枚举
- Go语言,struct结构体的那些奇怪的用法
- Go语言用defer定义函数比较奇怪的地方
- go语言 记录奇怪的写法--慢慢品味
- Go语言学习三:Go基础(iota,array,slice,map,make,new)
- Go语言”奇怪用法“有哪些?
- C语言--iota函数
- 奇怪的c语言
- 奇怪的c语言声明
- javascript--一种奇怪的语言
- 奇怪的C语言代码
- 奇怪的C语言写法
- 奇怪的C语言表达式
- 专题四1004
- 实现应用专属通知铃声
- Unique Paths 寻找从起点到终点的路径个数
- 深度优先搜索-ZOJ 1047 Image Perimeters
- 新手学JAVA(十一)-多线程----线程的生命周期
- 奇怪的go语言iota
- Computer Vision and the machine learning workflow
- 关于CocoaPod安装常见问题
- Java Calendar转化为Date类型方法
- SS那些事
- UNIX网络编程笔记(5)—I/O复用select/poll
- 48小时极速入职,盛成招聘开放日等你来踢馆!
- cs229学习笔记之支持向量机
- js---javaScript基本语法