在GO语言中,常量是指编译期间就已知且不可改变的值。常量数值可以是数值类型、布尔类型、字符串类型。
一、常量定义
通过const
关键字,可以给常量定义一个名字,=
右侧必须是常量或者常量表达式,常量表达式中的函数必须是内置函数
const Pi float64= 3.1415926535 //可以指定类型
const status = 1 //也可以不指定类型
const ( //同时定义多个常量,注意是小括号,不是大括号
a = "hello"
b = 3 + 4
c = 3.14
)
注意:常量必须是在编译期获得结果的,如果是在运行期获得,则会报错。
二、iota的使用
iota
是go预定义的常量
const e = iota //0
const (
f = iota //0 每次const出现 iota会清零
g = iota //1 否则每定义一个常量 iota增一
l //2 如果两个const的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式
h = iota //3
)
三、枚举类型
GO语言并没有其他语言的枚举关键字enum
,可以通过const
和iota
实现例如定义一周七天(0-6)
const (
Mon = iota
Tues
Wed
Thur
Fri
Sat
Sun
)