内置函数

核心函数列表

V语言提供以下内置函数:

// 标准输出
fn print(s string)    // 打印任意内容(无换行)
fn println(s string)  // 打印任意内容并换行

// 错误输出
fn eprint(s string)   // 功能同print(),但输出到stderr
fn eprintln(s string) // 功能同println(),但输出到stderr

// 程序控制
fn exit(code int)     // 自定义错误码终止程序
fn panic(s string)    // 打印错误信息+堆栈跟踪,以错误码1终止
fn print_backtrace()  // 向stderr输出堆栈跟踪

打印函数虽声明接收字符串,但实际支持所有可打印类型(见下文详解)。

println 万能打印

可打印任意数据类型:

struct User { name string; age int }

println(1)                    // "1"
println('hi')                 // "hi"
println([1, 2, 3])            // "[1, 2, 3]"
println(User{name:'Bob',age:20}) // "User{name:'Bob', age:20}"

自定义类型打印

实现 str() string 方法定义输出格式:

struct Color { r int; g int; b int }

// 自定义输出格式
pub fn (c Color) str() string {
    return 'RGB{${c.r},${c.g},${c.b}}'
}

println(Color{r:255,g:0,b:0}) // 输出: RGB{255,0,0}

运行时表达式追踪

使用 dump(expr) 调试表达式:

fn factorial(n u32) u32 {
    if dump(n <= 1) {         // 输出表达式和值
        return dump(1)
    }
    return dump(n * factorial(n-1))
}

println(factorial(5)) 

输出示例:

[factorial.v:2] n <= 1: false
[factorial.v:3] 1: 1
[factorial.v:5] n * factorial(n-1): 120
120

dump() 自动输出三要素:

  1. 源代码位置
  2. 表达式文本
  3. 当前求值结果