2.4. 常量声明
常量声明以关键字 const
开始,一般语法如下:
const 常量名: 类型 = 常量值
比如下面的例子:
// 版权 @2023 凹语言 作者。保留所有权利。
const Answer: i32 = 42
const aConstString: string = "你好,凹语言"
func main {
println(Answer)
println(aConstString)
println(aConstInt)
}
const aConstInt = 13
该程序运行的输出如下:
42
你好,凹语言
13
声明常量时,如果不指定类型(比如上例中的 aConstInt
),那么它将是无类型常量,无类型常量有4种类型,分别为:无类型整数、无类型浮点数、无类型字符、无类型字符串,常量值写法如下:
const aUntypedInt = 11 // 无类型整数
const aUntypedFloat = 13.0 // 无类型浮点数
const aUntypedRune = 'a' // 无类型字符
const aUntypedString = "abc" // 无类型字符串
对常量值的算数逻辑运算是在编译时完成的,比如:
// 版权 @2019 凹语言 作者。保留所有权利。
const K = 4200000000000000000000000
const J = 4200000000000000000000000
func main {
println(K/J)
}
虽然K
和J
的值均超过了凹中位数最多的整数类型i64
的表达范围,但是K/J
的值仍然能被正确打印。这也侧面体现了数值常量拥有超过变量基本类型的表达范围和精度。
将常量赋值给变量时的相关规则,将在第3章详细讨论。