Golang 常量
参考:
https://www.cnblogs.com/chenbaoding/p/12197244.html
https://www.jianshu.com/p/08d6a4216e96
定义
const identifier type
- 不能将一个变量赋值给常量
- Go中没有常量名必需字母大写规范
- 任然通过首字母的大小写来控制常量的访问范围
- 如果常量未声明值, 默认等于前一个值, 变量不存在该性质
func main() {
const (
a = 100
b // 100
c // 100
d //100
)
fmt.Println(a, b, c, d)
}
func main() {
const (
a = 100
b = iota //1
c = 200
d //200
)
fmt.Println(a, b, c, d)
}
iota
只能在常量的表达式中, iota
出现在const
语句块中的第几行(下标从0开始), 那么它就是几
func main() {
const(
a = iota //表示给a赋值0, 然后后面的值依次+1
b // 1
c // 2
)
fmt.Println(a, b, c)
}
/*~~~~~~~~~~~~~~~~~~~~~~~~~*/
func main() {
const (
a = 1
b = iota // 1
c // 2
d //3
)
fmt.Println(a, b, c, d)
}
可跳过值
func main() {
const(
a = iota //表示给a赋值0, 然后后面的值依次+1
b // 1
_
_
e //4
)
fmt.Println(a, b, e)
}
位运算
func main() {
const(
a = 1 << iota // 1 << 0
b // 1 << 1
c // 1 << 2
)
fmt.Println(a, b, c)
}