4.3 常量
...大约 1 分钟
4.3 常量
使用
const
定义存储不会改变的数据
数据类型只能为:布尔型、数字型、字符串
格式:
const indetifier [type] = value
- 显式类型定义:
const str string = "A"
- 隐式类型定义:
const Pi = 3.14
- 显式类型定义:
常量值必须是编译期可确定的
4.3.1 赋值
const a, b, c = 1, "2", 3
const (
q, w, e = 1, 2, 3
z = 0
)
// \ 用于连接
const Ln2 = 0.693147180559945309417232121458\
176568075500134360255254120680009
4.3.2 枚举
const (
Unkown = 0
Female = 1
Male = 2
)
iota
iota
默认为 0,在新的一行被使用时自动加 1,没有赋值的常量使用上一行的表达式。
// 赋值一个常量时,之后没赋值的常量都会应用上一行的赋值表达式
const (
a = iota // a = 0
b // b = 1
c // c = 2
d = 5 // d = 5
e // e = 5
)
// 赋值两个常量,iota 只会增长一次,而不会因为使用了两次就增长两次
const (
Apple, Banana = iota + 1, iota + 2 // Apple=1 Banana=2
Cherimoya, Durian // Cherimoya=2 Durian=3
Elderberry, Fig // Elderberry=3, Fig=4
)
// 使用 iota 结合 位运算 表示资源状态的使用案例
const (
Open = 1 << iota // 0001
Close // 0010
Pending // 0100
)
const (
_ = iota // 使用 _ 忽略不需要的 iota
KB = 1 << (10 * iota) // 1 << (10*1)
MB // 1 << (10*2)
GB // 1 << (10*3)
TB // 1 << (10*4)
PB // 1 << (10*5)
EB // 1 << (10*6)
ZB // 1 << (10*7)
YB // 1 << (10*8)
)
Powered by Waline v2.15.2