Codes
package main import "fmt" type color byte const ( black color = iota red blue ) func test(c color) { fmt.Println(c) } func main() { const ( x = iota // 0 y // 1 z // 2 ) fmt.Printf("x=%v, y=%v, z=%v\n", x, y, z) const ( _ = iota KB = 1 << (10 * iota) // 1 << (10 * 1) MB // 1 << (10 * 2) GB // 1 << (10 * 3) ) fmt.Printf("KB=%v, MB=%v, GB=%v\n", KB, MB, GB) const ( _, _ = iota, iota * 10 // 0, 0 * 10 aa, bb // 1, 1 * 10 cc, dd // 2, 2 * 10 ) fmt.Printf("aa=%v, bb=%v, cc=%v, dd=%v\n", aa, bb, cc, dd) const ( a = iota // 0 b // 1 c = 100 // 100 d // 100 e = iota // 4 f // 5 ) fmt.Printf("a=%v, b=%v, c=%v, d=%v, e=%v, f=%v\n", a, b, c, d, e, f) const ( g = iota // 0 h float32 = iota // 1 i = iota // 2 ) fmt.Printf("g: %T %v, f: %T %v, h: %T %v\n", g, g, h, h, i, i) test(black) // 0 test(red) // 1 test(blue) // 2 test(100) // 100 并未超出 color/byte 类型取值范围 // xx := 2 // test(xx) }
Result
x=0, y=1, z=2
KB=1024, MB=1048576, GB=1073741824
aa=1, bb=10, cc=2, dd=20
a=0, b=1, c=100, d=100, e=4, f=5
g: int 0, f: float32 1, h: int 2
0
1
2
100
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接
我在Golang中使用iota定义了以下类型。 我想将REST-API中传递的值限制为statusType。使得该值不应超过0,1,2。
IOTA(中文埃欧塔),是于2014年众筹的一个项目,宗旨是利用DAG(有向无环图,IOTA里叫做Tangle——缠结)代替区块链实现分布式、不可逆(由密码学保证)信息传递的一种技术,在此基础上集成加密货币功能,服务于物联网。基于 DAG 的设计没有区块的概念,扩容不受区块大小的限制,其可伸缩性取决于网络带宽、CPU处理速度和存储容量的限制。 因为IOTA整个网络目前的算力极低(通常在1~2TPS
本文向大家介绍golang使用信号量热更新的实现示例,包括了golang使用信号量热更新的实现示例的使用技巧和注意事项,需要的朋友参考一下 配置文件热更新是服务器程序的一个基本功能,通过热更新可以不停机调整程序的配置,特别是在生产环境可以提供极大的便利,比如发现log打得太多了可以动态调高日志等级,业务逻辑参数变化,甚至某个功能模块的开关等都可以动态调整。 以上就是本文的全部内容,希望对大家的学习
变量是计算机内存中已命名的存储位置,其中包含了数字或字符串等数据。变量包含的信息被称为变量的值。变量使用用户便于理解脚本操作的名称为用户提供了一种存储、检索和操作数据的途径。 声明和命名变量 命名和声明变量应遵循脚本语言的规则及指导。即使在使用变量前不需要去声明变量,也应养成在编程时声明变量的良好习惯,因为这样有助于防止错误发生。声明一个变量意味着告诉脚本引擎,有一个特定名称的变量,这样就可以在脚
本文向大家介绍Golang学习笔记(二):类型、变量、常量,包括了Golang学习笔记(二):类型、变量、常量的使用技巧和注意事项,需要的朋友参考一下 基本类型 1.基本类型列表 2.类型转换 不支持隐式类型转换,必须进行显式类型转换 转换只发生在两种互相兼容的类型之间: 各类int不允许相互赋值或操作,不然会在编译时报错 示例 结果 3.类型别名 4.类型默认值 声明不赋值,类型零值,非空值,而
第一次面试有点紧张,感觉答的不咋样,结果第二天问HR说过了 1. 项目、主要做的内容(实验室的项目,没问多深) 2. go哪些数据类型是线程安全的(记错了一些) 3. map的两种扩容方式(没看过,答成溢出桶方向了) 4. map可寻址吗 5. 读已经close的channel会怎么样 6. 生产者、消费者用有缓存channel通信场景,如何让生产者和消费者退出 7. GMP中调度机制,有了解过h