if表达式是一种条件表达式,它根据条件的真假来返回不同的值。它与if语句不同:
if语句:是一种控制流语句,用于决定是否执行某段代码块,本身不返回值。
if表达式:会计算一个结果,这个结果可以赋值给变量、作为函数参数或在其他表达式中使用。功能类似三元运算符,但if表达式更通用,可读性更高
其基本形式通常如下:
if 条件 then 值1 else 值2
例如 if a>1 then 2 else 1,如果a大于1,整个表达式的结果就是2,否则是1。
if表达式必须存在else部分,主要是为了确保表达式始终有确定的返回值。如果没有else,当条件为假时,表达式的返回值将是不确定的。
注:仅2025-08-27以后的语言版本支持此功能
示例:
ret:=if x>0 then x*x else 0;
return ret;
当x>0,返回x*x;x<=0时,返回0。
//多个分支
ret:=if x>0 then x*x else if x<0 then -(x*x) else 0;
return ret;
当x>0,返回x*x;x<0时,返回-x*x;x=0,返回0。