条件分支
条件分支 用于执行条件判断的逻辑控制,支持完整的 If、Else IF、Else 分支结构。它可以在同一个判断中使用多个条件,支持常用的比较与集合关系逻辑,让流程按不同条件走入不同分支。
指令标识:if / elseif / else
指令类型:逻辑控制指令
指令描述:提供完整的条件分支判断逻辑控制
先选使用方式
Section titled “先选使用方式”条件分支 是流程结构节点,两种方式都是「设置条件、按结果走分支」,区别只是界面配置还是代码原生写法。
| 方式 | 怎么用 | 适合人群 |
|---|---|---|
| 可视化编排(推荐先学) | 拖入「条件分支」节点,设置参数类型、变量参数、条件规则 | 大多数用户,零代码,适合快速搭建和调试 |
| 代码编排(Python) | 直接使用 Python 原生的 if / elif / else 语句 | 熟悉代码、需要复用脚本的用户 |
什么时候用?
Section titled “什么时候用?”- 业务逻辑分支:根据不同业务条件执行不同处理逻辑。
- 数据验证:对输入数据进行多层次的校验和处理。
- 状态判断:根据系统或应用的不同状态执行相应操作。
- 异常处理:为不同异常情况提供相应的处理方案。
- 条件分支必须按
IF→(可选的Else IF)→(可选的Else)的顺序使用,不能单独使用Else IF或Else。 - 变量需按
/变量名的格式引用;直接输入变量名会被当作字符串本身比较。 - 当存在两个及以上条件时,可开启自定义条件表达式,仅支持
AND和OR逻辑运算符。 - 参数变量需严格符合条件要求的类型。
| 条件 | 说明 | 示例 |
|---|---|---|
=(等于) | 实际值等于期望值 | abc = abc |
!=(不等于) | 实际值不等于期望值 | abc != def |
>=(大于等于) | 实际值大于等于期望值 | 123 >= 100 |
<=(小于等于) | 实际值小于等于期望值 | 100 <= 123 |
>(大于) | 实际值大于期望值 | 123 > 100 |
<(小于) | 实际值小于期望值 | 100 < 123 |
可视化编排:从 0 到跑通
Section titled “可视化编排:从 0 到跑通”下面用一个常见场景演示:根据分数走不同处理分支。按 4 步即可跑起来:
- 在工作流画布中添加 条件分支(IF) 指令。
- 在 IF 条件中设置变量参数(如
/score)和条件规则(如>= 60)。 - 如需更多分支,添加
Else IF(如>= 90);如需兜底,添加Else。 - 把每个分支后续要执行的节点分别接在对应出口,运行并构造不同数据验证分支走向。
条件分支 是流程结构节点,自身没有固定的业务参数,配置内容为「条件规则」:每条规则包含参数类型、变量参数与比较条件(见上方「条件规则」)。当条件数量达到两个及以上时,可开启自定义条件表达式,用 AND / OR 组合。
无业务输出。条件分支不产生输出变量,命中哪个分支可通过运行日志判断。
- 流程按预期走入了正确的分支(IF / Else IF / Else)。
- 各条件规则的判断结果与构造的数据一致。
- 运行日志中条件节点为成功状态。
| 现象 | 可能原因 | 处理建议 |
|---|---|---|
| 条件始终不成立 | 变量未用 /变量名 引用,被当成字符串 | 检查变量引用格式是否正确 |
| 条件判断结果异常 | 参数类型与条件要求不匹配 | 确认参数类型,必要时先做类型转换 |
| 自定义表达式不生效 | 仅一个条件,或使用了非 AND/OR 运算符 | 两个及以上条件才支持表达式,且只支持 AND/OR |
| 多个分支都不命中 | 缺少 Else 兜底 | 需要默认处理时添加 Else 分支 |
Python 代码编排
Section titled “Python 代码编排”代码编排以 Python 为主。在代码里,IF / Else IF / Else 直接对应 Python 原生的 if / elif / else,无需单独的条件指令。
score = int(params.get("score", 0))
if score >= 90: result = "优秀"elif score >= 60: # 对应可视化里的 Else IF 分支 result = "及格"else: # 对应可视化里的 Else 兜底分支 result = "不及格"多个条件的组合,直接用 Python 的布尔运算符 and / or 表达,对应可视化里的 AND / OR:
if score >= 60 and score < 90: result = "及格"Q1:条件分支的使用顺序有要求吗?
Section titled “Q1:条件分支的使用顺序有要求吗?”A: 必须按 IF → Else IF → Else 的顺序使用,不能单独使用 Else IF 或 Else;可以使用多个 Else IF 处理多种分支。
Q2:Else 指令是必须的吗?
Section titled “Q2:Else 指令是必须的吗?”A: Else 是可选的,用于处理所有条件都不满足的默认情况;如不需要默认处理,可以不配置。
Q3:条件判断未生效怎么办?
Section titled “Q3:条件判断未生效怎么办?”A: 可将条件拆分单独调试,检查变量是否按 /变量名 正确引用,并确认参数类型匹配。