运算与控制流
这一部分覆盖语言的表达式与语句,包括运算符与优先级、条件与匹配、循环、模式等内容。
运算符(Operators)表达式靠运算符连接。本页按族过一遍全部运算符,优先级规则集中在最后。
条件分支(If)if 有四种用法:条件语句、条件表达式、条件绑定、类型测试入口。条件位只收 bool,整数或任何其他类型都不允许在条件位。
匹配(Match)match 把一个值对照一串模式逐个测试,命中哪条臂就执行哪条臂。它是表达式也是语句,两种形态共用同一套匹配机器和穷尽性检查。模式的全部形态见模式一页。
模式(Pattern)模式是「值的形状描述」。match 臂、if val、while val、expect、for 迭代变量、解构绑定全部共用同一套模式机器,本页一次列全。
循环(Loops)循环有四个入口:for 走可迭代值,while 走条件,while val 走条件绑定,repeat 走固定次数。跳出的手段统一是 break 与 continue,复杂嵌套用标签指定跳转目标。
延后执行(Defer)defer 把一条语句注册成「离开当前块之前必须执行」的清理钩子。注册时不执行,执行时倒序。资源有 Dispose 协议的走 using,其余收尾场景走 defer。
失败(Fail)失败是类型化的控制流:错误值经 fail 抛出,沿调用链向上传递,每个调用点都被编译器检查消费义务。语言没有异常:失败不会在类型之外悄悄发生,也不需要 try-catch 兜底。
崩溃(Crash)crash 表达「继续跑没有意义」。
效应(Effect)效应是「可拦截的副作用」:effect 声明一组操作(op),函数体用 perform 触发,调用方用 handle 拦截并以 resume 续延。
最后更新于 2026年10月11日
