Golang常量iota的使用实例
- 作者: OBM的那个啥
- 来源: 51数据库
- 2021-07-10
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
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
推荐阅读
