常量表示运行时恒定不可改变的值。使用常量可以代替魔法数字,在定义处修改值后,所有引用的值都会改变。
const x = 1
const y = "hello"
const(
x = 1
y = "hello"
)
可以在函数内定义常量,不使用也不会出错,在不同作用域定义相同的常量也是可以的。
func main() {
const x = 1
println(x)
{
const x = 2
println(x)
}
}
输出
1
2
定义常量的值也可以是表达式的值
func main() {
const (
x = 1+2
y = x + 5
)
println(x,y)
}
输出
3 8
对常量x重新赋值后,会出现编译错误 cannot assign to x
func main() {
const (
x = 1+2
y = x + 5
)
x = 10
println(x,y)
}
在常量组中如不指定类型和初始值,则与上一行非空常量右值相同
func main() {
const (
x = 1
y
z = "hello"
)
println(x,y,z)
}
输出
1 1 hello
可以看出y和x的值都是1。