跳转至
开发版采用单机部署,无需产品 License 文件。需要多机部署或大规模性能测试? 了解企业版

控制流语句

控制流语句用于控制过程中的语句执行顺序。

支持的控制流语句包括:

  • WHILE:根据指定的条件循环执行一组语句,直到条件不再满足。
  • IF:根据指定的条件执行一组语句。
  • BREAK:立即退出循环,通常在 WHILE 语句或循环内的 IF 语句中使用。
  • CONTINUE:跳过当前迭代中剩余的语句,继续下一次迭代。通常在 WHILE 语句或循环内的 IF 语句中使用。

语法

while_statement
WHILE value_expression THEN { procedure_body }
if_statement
IF value_expression THEN { procedure_body } ELSEIF value_expression THEN { procedure_body } ELSE { procedure_body }
break_statement
BREAK
continue_statement
CONTINUE

while_statement ::=
  'WHILE' value_expression 'THEN' '{' procedure_body '}'

if_statement ::=
  'IF' value_expression 'THEN' '{'  procedure_body '}' 
  ( 'ELSEIF' value_expression 'THEN' '{'  procedure_body  '}' )*
  ( 'ELSE' '{'  procedure_body  '}' )?   

break_statement ::=
  'BREAK'    

continue_statement ::=
  'CONTINUE'     

参数

value_expression

计算结果为布尔值的值表达式。更多信息,请参见布尔类型和值表达式。

procedure_body

待执行的一组语句。更多信息,请参见过程体。

示例

WHILE

'''
VALUE i INT = 0 
WHILE i < 5 THEN { 
  SET i = i + 1 
} 
RETURN i
'''

返回:

+---+
| i |
+---+
| 5 |
+---+

IF

IF-ELSE

'''
VALUE i INT = 5 
IF i < 5 THEN { 
  SET i = i + 1 
} ELSE { 
  SET i = i - 1 
} 
RETURN i
'''

返回:

+---+
| i |
+---+
| 4 |
+---+

IF-ELSEIF-ELSE

'''
VALUE i INT = 4 
IF i < 3 THEN { 
  SET i = i + 1 
} ELSEIF i < 5 THEN { 
  SET i = i + 2 
} ELSE { 
  SET i = i - 1 
} 
RETURN i
'''

返回:

+---+
| i |
+---+
| 6 |
+---+

BREAK

'''
VALUE i INT = 0 
WHILE i < 5 THEN { 
  IF i = 3 THEN { 
    BREAK 
    } 
  SET i = i + 1 
} 
RETURN i 
'''

返回:

+---+
| i |
+---+
| 3 |
+---+

CONTINUE

'''
VALUE i INT = 0 
WHILE i < 5 THEN { 
  IF i < 3 THEN { 
    SET i = i + 1 
    CONTINUE 
  } ELSE { 
    SET i = i + 1 
  } 
} 
RETURN i
'''

返回:

+---+
| i |
+---+
| 5 |
+---+