下面显示的是大多数编程语言中常见的典型决策结构的一般形式-
Sr.No | Statement & 描述 |
---|---|
1 | if语句 if 语句包含一个布尔表达式,后跟一个或多个语句。 |
2 | if...else 语句 if 语句后可以跟可选的 else 语句,该语句在布尔表达式为false时执行。 |
3 | else ... if 嵌套语句 您可以在另一个 if 或 else if 语句中使用一个 if 或 else if 语句。 链接:https://www.learnfk.comhttps://www.learnfk.com/rust/rust-decision-making.html 来源:LearnFk无涯教程网 |
4 | match 语句 match 语句允许针对值列表测试变量。 |
if…else 构造在执行代码块之前先判断条件。
if boolean_expression { //如果满足条件,则执行这里 }
如果布尔表达式的输出为true,则将执行if语句中的代码块,如果布尔表达式的计算输出为false,则将执行if语句结束后(右花括号后)的第一组代码。
fn main(){ let num:i32=5; if num > 0 { println!("number is positive") ; } }
上面的示例将打印 number是正数 ,因为if块指定的条件为true。
一个 if 后面可以是一个可选的 else 块,如果由if语句测试的布尔表达式判断为false,则else块将执行。
if boolean_expression { //如果满足条件执行这里 } else { //否则执行这里 }
if 块保护条件表达式。如果布尔表达式的值为true,则执行与if语句关联的块。
if块后面可以是可选的else语句。如果表达式的值为假,则执行与else块关联的指令块。
fn main() { let num=12; if num % 2==0 { println!("Even"); } else { println!("Odd"); } }
上面的示例显示变量中的值是偶数还是奇数。 if块将值的除数检查2以确定是否相同。这是上面代码的输出-
Even
else…if 阶梯可用于测试多个条件。语法如下所示-
if boolean_expression1 { //如果满足条件 expression1,则执行这里 } else if boolean_expression2 { //如果满足条件 expression2,则执行这里 } else { //否则执行这里 }
fn main() { let num=2 ; if num > 0 { println!("{} is positive",num); } else if num < 0 { println!("{} is negative",num); } else { println!("{} is neither positive nor negative",num) ; } }
片段显示值是正,负还是零。
2 is positive
match语句检查当前值是否与值列表匹配,这与C语言中的switch语句非常相似,首先,请注意,不必将match关键字后面的表达式括在括号中。
语法如下所示。
let expressionResult=match variable_expression { constant_expr1 => { //条件语句 }, constant_expr2 => { //条件语句 }, _ => { //默认 } };
在下面给出的示例中, state_code 与值列表 MH,KL,KA,GA 匹配-如果找到匹配项,则字符串值返回到变量 state 。如果未找到匹配项,则默认情况_匹配,并返回值 Unkown 。
fn main(){ let state_code="MH"; let state=match state_code { "MH" => {println!("Found match for MH"); "Maharashtra"}, "KL" => "Kerala", "KA" => "Learnfk", "GA" => "Goa", _ => "Unknown" }; println!("State name is {}",state); }
Found match for MH State name is Learnfk
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)