Rust 教程

浏览27783
更新时间2025-08-27

决策结构要求程序员指定一个或多个要由程序评估或测试的条件,以及在确定条件为 true 时要执行的一条或多条语句,以及可选的其他要执行的语句。 如果确定条件为 false,则执行。

下面显示的是大多数编程语言中典型决策结构的一般形式 −

决策
Sr.No 语句 & 描述
1

if 语句

if 语句由一个布尔表达式后跟一个或多个语句组成。

2

if...else 语句

if 语句后面可以跟一个可选的 else 语句,该语句在布尔表达式为 false 时执行。

3

else...if 和嵌套 if 语句

您可以在另一个 if 或 else if 语句中使用一个 if 或 else if 语句 。

4

match 语句

match 语句允许根据值列表测试变量。

If 语句

if…else 构造在执行代码块之前评估条件。

语法

if boolean_expression {
   // 如果布尔表达式为 true,则语句将执行
}

如果布尔表达式的计算结果为 true,则 if 语句内的代码块将被执行。 如果布尔表达式的计算结果为 false,则将执行 if 语句末尾(右大括号之后)后的第一组代码。

fn main(){
   let num:i32 = 5;
   if num > 0 {
      println!("number is positive") ;
   }
}

上面的示例将打印 number is Positive,因为 if 块指定的条件为 true。

if else 语句

if 后面可以跟一个可选的 else 块。 如果 if 语句测试的布尔表达式的计算结果为 false,则 else 块将执行。

语法

if boolean_expression {
   // 如果布尔表达式为 true,则语句将执行
} else {
   // 如果布尔表达式为 false,则语句将执行
}

流程图

流程图

if 块条件表达式。 如果布尔表达式的计算结果为 true,则执行与 if 语句关联的块。

if 块后面可以跟一个可选的 else 语句。 如果表达式的计算结果为 false,则执行与 else 块关联的指令块。

示例 - 简单的 if...else

fn main() {
   let num = 12;
   if num % 2==0 {
      println!("Even");
   } else {
      println!("Odd");
   }
}

上面的示例打印变量中的值是偶数还是奇数。 if 块检查该值是否能被 2 整除以确定是否相同。 这是上面代码的输出 −

Even

嵌套 If

else…if 梯子对于测试多个条件很有用。 语法如下所示 −

语法

if boolean_expression1 {
   //如果表达式 1 的计算结果为 true 的语句
} else if boolean_expression2 {
   //如果表达式2 的计算结果为 true 的语句
} else {
   //如果表达式 1 和表达式 2 的结果都为 false 的语句
}

使用 if...else...if 和 else 语句时,需要记住以下几点。

  • if 可以有零个或一个 else,并且它必须位于任何 else..if 之后。
  • 一个 if 可以有零到多个 else..if,并且它们必须位于 else 之前。
  • 一旦 else..if 成功,其余的 else..if 或 else 都不会被测试。

示例:else...if

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 语句

match 语句检查当前值是否与值列表中的值匹配,这与 C 语言中的 switch 语句非常相似。 首先,请注意 match 关键字后面的表达式不必括在括号中。

语法如下所示。

let expressionResult = match variable_expression {
   constant_expr1 => {
      //statements;
   },
   constant_expr2 => {
      //statements;
   },
   _ => {
      //default
   }
};

在下面给出的示例中,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" => "Karnadaka",
      "GA" => "Goa",
      _ => "Unknown"
   };
   println!("State name is {}",state);
}

输出

Found match for MH
State name is Maharashtra

相关视频

更多

免费

phpStudy极速入门视频教程
初级phpStudy极速入门视频教程

54.6万次学习

收藏

免费

phpStudy V8 视频教程
初级phpStudy V8 视频教程

38.8万次学习

收藏

免费

小皮面板使用视频教程
初级小皮面板使用视频教程

21.6万次学习

收藏

免费

好课诞生记
初级好课诞生记

7.1万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

65万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.8万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.2万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.4万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.3万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.5万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载