跳转到内容
简体中文

0.0.17 语言与借用

0.0.17 文档快照支持范围与限制 ↗

0.0.17 的普通 owned 参数默认 move;&name: T 是同步只读借用,调用仍传普通表达式。借用不消费、不隐式 clone,callee 不释放来源。

fn Read(&text: str): int {
return text.byte_len()
}
fn main() {
text = "Ku"
println(Read(text))
println(Read(text))
println(text)
}

保存为 borrow.ku,运行 ku run borrow.ku,输出 2、2、Ku。不能通过借用赋值、move 出 owned 字段、保存借用或捕获借用;要返回独立 owned 字符串时显式 .clone()。整数等 Copy 字段可以读取返回。

该版不支持异步借用参数、借用返回和一等引用。解释器与同步 C 接入该模式;LLVM 未支持。完整写法见0.0.17 语法规范。