常量(Constants)
基础用法
常量在模块层级声明(函数外),使用 const
关键字:
const pi = 3.14
const world = '世界'
println(pi) // 输出: 3.14
println(world) // 输出: 世界
常量值不可修改,支持单行声明:
const e = 2.71828
高级特性
常量支持复杂数据结构:
struct Color { r int; g int; b int }
fn rgb(r, g, b int) Color {
return Color{r, g, b}
}
// 数组常量
const numbers = [1, 2, 3]
// 结构体常量
const red = Color{r:255, g:0, b:0}
// 函数返回值常量(编译时求值)
const blue = rgb(0, 0, 255)
println(blue) // 输出: Color{r:0, g:0, b:255}
函数调用常量目前在程序启动时求值(未来将在编译期求值)
模块作用域
公开常量使用 pub const
:
module math
pub const pi = 3.1415926 // 其他模块可访问
// 模块内使用常量
fn calc() {
println(math.pi) // 必须带模块前缀
}
引用规则
- 必须使用蛇形命名(snake_case)
- 除
main
模块外,必须使用完整限定名 main
模块可省略模块前缀
自动格式化
vfmt
工具自动处理模块前缀:
// 在math模块中写:
println(pi)
// vfmt自动转换为:
println(math.pi)