XU XUv0.8.8
EN

文档 / 教程

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/。