系列文章目录
【rust】| 00——开发环境搭建
【rust】| 01——编译并运行第一个rust程序
【rust】| 02——语法基础 | 变量(不可变?)和常量
【rust】| 03——语法基础 | 数据类型
【rust】| 04——语法基础 | 函数
【rust】| 05——语法基础 | 流程控制
文章目录
- 流程控制
- 1. 条件判断
- 1.1 if
- 1.2 else if
- 1.3 注意事项
- 2. 循环
- 2.1 loop
- 2.2 while
- 2.3 for
流程控制
每个语言中都不可缺失对程序流程的控制。rust中也是如此 和其他语言也是相似的。但是也有细微差别。
差别:rust中 if else if 是表达式
即可以做右值 直接 给变量赋值
1. 条件判断
1.1 if
单个条件判断(即如果满足了这个条件,运行代码块1,否则不允许这个代码块1) 和其他语言if使用方法一样 判断条件可以不加 括号
可以作右值 rust中 if else if 是表达式 表达式可以作右值
1.2 else if
多个条件判断
和其他语言else if使用方法一样 判断条件可以不加 括号
1.3 注意事项
1、在C/C++中我们判断 某个条件/变量 是否为真/假 通过if (条件/变量) 即可 而在rust中 判断真假 必须是bool 类型/ 条件写清楚 如图所示
2、前面有演示 rust中 if else 是表达式 表达式可以右值 也就是可以返回值
2. 循环
重复执行代码。rust中有 三种 loop while for
2.1 loop
一直循环执行 一段代码(在没有我们打断或让他停止时)
也就是死循环
loop { 要循环执行的代码 }
如何打断/停止循环 和C/C++一样 使用关键词 break continue 除了类似的功能
在Rust中 这两个关键词还有新的功能
break可以做返回值
break.continue 可以跳转执行(到循环标签)(后面详细介绍)
break: 1、停止循环 不会再循环 2、作返回值
continue: 跳出本次循环 从下次开始循环
1、break 退出循环
2、break 用作返回值
可以看到每执行一次 这个数加1 当=22时 退出循环 并返回这个值
3、continue 跳出本次循环 开始新的循环
4、break/continue跳转执行(跳转到循环标签)
循环标签语法
定义标签: 单引号’ + 标签名 + 冒号:+ loop { }
使用标签: break + 循环标签 = 退出标签对应的循环
循环标签的作用:表注循环(给循环体打标签)。 配合break/continue 实现控制循环。
当存在多个嵌套循环体时 可以通过循环标签 来表明内外循环及控制循环。让我们更清晰简单快速的控制循环体内的执行流程(掌控代码)。
举例说明
2.2 while
条件循环 判断条件 满足条件再循环(和C/C++中相似的)
while + 条件 { 循环体 }
2.3 for
条件循环 循环一定次数 条件为真时循环 否者停止
但是它和其他语言中for存在差别。
通过例子说明
可以看到他会把 值传递给 for后面的变量
通过两个例子我们可以看到 for是循环一定次数。并且很适合访问数据元素 遍历元素这种工作。
for和while都是满足条件循环 但是他们还是有区别的
当遍历数据 数据长度会改变 for会自动判断是否为真再循环 而while根据我们的条件(数组长度改变时我们需要修改)