Go语言常量
在go中,常量是一个编译期就可以确定的值,并且只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型,这样是为了在编译期确定值,类似于C++的constexpr
。
常量的定义格式:
const identifier [type] = value
常量枚举
常量还可以用作枚举:
const (
Unknown = 0
Female = 1
Male = 2
)
其中的常量名可以不指定右侧的表达式,但第一个常量名必须指定,忽略右侧表达式的常量名相当于重写了一边上一个常量值的右侧表达式:
const (
a = 1
b
c = 2
d
)
fmt.Println(a, b, c, d) // 1 1 2 2
iota
iota
在go中是特殊的关键字,表示常数生成器。
iota从0开始,每隔一行就增加1:
const (
Sunday = iota
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
)
这里Sunday
到Saturday
为从0到6的值。