常量(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) // 必须带模块前缀
}

引用规则

  1. 必须使用蛇形命名(snake_case)
  2. main 模块外,必须使用完整限定名
  3. main 模块可省略模块前缀

自动格式化

vfmt 工具自动处理模块前缀:

// 在math模块中写:
println(pi) 

// vfmt自动转换为:
println(math.pi)