fn find(arr: [i32], target: i32): ?i32 {
for (i in 0 .. arr.length) {
if (arr[i] == target) {
return Some(i)
}
}
return None
}
fn main(): i32 {
let arr = [10, 20, 30, 40, 50]
match find(arr, 30) {
Some(idx) -> print("Found at index: ", idx)
None -> print("Not found")
}
match find(arr, 99) {
Some(idx) -> print("Found at index: ", idx)
None -> print("Not found")
}
return 0
}
基于 LLVM 后端,Vix 在编译期完成大量优化。没有沉重的运行时负担,生成的二进制文件精简高效,启动速度毫秒级。
原生支持代数数据类型和强大的 match 表达式,让状态处理变得直观且穷尽。编译器会提醒你漏掉的每一种情况,而不是在运行时崩溃。
需要操作原始内存?Vix 提供指针运算和手动内存管理的能力。不需要时,现代化的语法和类型系统帮你远离段错误。