条件语句

条件语句

条件语句

功能

条件语句用于根据不同条件执行不同代码。BT 中 if 也是表达式:整个 if 的值由实际执行分支中最后一条语句返回;没有匹配分支时返回 empty

语法

if

if 后面写条件。条件为真时执行第一个代码块。

else

else 表示前面的条件都不成立时执行的兜底分支。

elseif 和 else if

elseif 用于连续判断多个条件;else if 也可以写成嵌套条件。

三元条件表达式

简单二选一可以用 condition ? true_value : false_value,适合短表达式,不适合写复杂业务块。

match 表达式

功能

match 用于按顺序比较一个表达式的值,并返回第一个命中分支的结果。它适合替代连续的 if / elseif / else 判断。

语法

参数

  • expr:要匹配的表达式,只会先求值一次。
  • pattern:分支模式表达式,按从上到下的顺序与目标值进行相等比较。
  • _:默认分支,当前面都不匹配时返回它的表达式值。

返回值

match 是表达式,命中分支后返回该分支 => 右侧表达式的值;分支右侧写 {} 代码块时返回代码块最后一条语句的值;没有匹配且没有 _ 默认分支时返回 empty

代码示例

注意事项

  • match 按分支书写顺序匹配,命中后不会继续检查后续分支。
  • _ 是默认分支,通常放在最后;如果放在前面,后续分支不会再被执行。
  • 分支右侧可以是表达式,也可以是 {} 代码块;代码块的值由最后一条语句决定。
  • return 会直接退出当前函数或脚本,不只是返回当前 match 分支;如果只是想把值交给 match,请把该值作为代码块最后一条语句。

真值规则

条件会按 BT 的真值规则判断。常见的假值包括 falsenullempty0、空字符串、空数组和空对象;其他值通常按真处理。