文档 / 教程
04 · 函数与方法
没有 class:struct + 方法。值接收者只读;&mut 接收者要求调用方绑定为 mut。
源码
@main
fn add(a int, b int) int {
<< a + b
}
struct Counter {
n int
}
fn (c Counter) get() int {
<< c.n
}
fn (c &mut Counter) inc() {
c.n += 1
}
fn main() int {
println(add(2, 3))
mut c := Counter{n: 10}
println(c.get())
c.inc()
println(c.get())
<< 0
}编译(examples 仓库根,使用已安装的 xu):
xu run examples/04_functions_methods/main.xu
# 或:xu build examples/04_functions_methods/main.xu
# mac/linux 默认写出 ./main ;Windows 为 ./main.exe
在独立的 examples 仓库根执行;源码位于 examples/。