内置函数
核心函数列表
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()
自动输出三要素:
- 源代码位置
- 表达式文本
- 当前求值结果