Rust编程中的循环语句

【图书介绍】《Rust编程与项目实战》-CSDN博客

《Rust编程与项目实战》(朱文伟,李建英)【摘要 书评 试读】- 京东图书 (jd.com)

Rust编程与项目实战_夏天又到了的博客-CSDN博客

6.2 for 循 环

迭代次数是确定/固定的循环称为确定循环。for 循环是一个确定循环。for 循环执行代码块指定的次数。它可用于迭代一组固定的值,例如数组。for 循环的语法如下:

复制代码
for temp_variable in lower_bound..upper_bound {
    //代码语句
}

temp_variable是一个临时变量,取值范围是[lower_bound,upper_bound-1],也就是让temp_variable不断改变取值(从lower_bound开始,每次加1),不断执行代码语句。

第一次temp_variable取值是lower_bound,然后执行代码语句;第二次temp_variable取值是lower_bound+1,然后执行代码语句;第三次temp_variable取值是lower_bound+2,然后执行代码语句,以此类推,一直到temp_variable取值upper_bound−1,此时将最后一次执行代码语句,则整个for循环结束。
注意:循环次数从lower_bound到upper_bound−1,不包括upper_bound。另外,花括号不能省略,即使只有一条代码语句。

下面举一个for循环的例子:

复制代码
fn main(){
    for x in 0..10
    {
      print!("{},", x);
    }
}

输出结果如下:

复制代码
0,1,2,3,4,5,6,7,8,9,

可见,x的取值范围为0~9,不包括10,0~9已经是10次了,所以执行了10次打印语句。

6.3 while 循 环

当循环中的迭代次数不确定或未知时,通常使用while循环。while循环的语法格式如下:

复制代码
while 表达式
{
    循环体内的语句
}

这种循环语句中的表达式是循环语句能否继续运行的条件,其功能是保证语句循环运行。只要表达式为true,就可以执行循环体内的语句,否则终止循环,执行循环体外的语句。比如:

复制代码
fn main(){
    let mut x = 0;
    while x < 5{
        x+=1;
        println!("inside loop x value is {}",x);
    }
     println!("outside loop x value is {}",x);
 }

值得注意的是,即使循环体内的语句只有一句,花括号依旧不能少。

Rust语言到写本书时还没有do-while的用法,但是do被规定为保留字,也许以后的版本中会 用到。

6.4 loop 循 环

loop告诉Rust永远重复执行一段代码,直到明确地告诉需要停止为止,否则将一直重复执行(直到你的机器没电为止),相当于一个while无限循环。示例代码如下:

复制代码
fn main() {
    loop {
        println!("loop!");
    }
}

执行该代码,不出意外的话将不会停止打印loop:

复制代码
loop
loop
loop
loop
loop
loop
loop
...

如果程序在VS Code中运行,则单击右上角的红色矩形按钮才会停止程序。如果该程序在命令行窗口执行,则需要按快捷键Ctrl+C才会停止程序。这里的loop循环也可以改写为:

复制代码
while true{
    println!("loop!");
}

6.5 break 语 句

通过使用break语句,即使在没有满足结束条件的情况下,也可以跳出一个循环。break可以被用来结束一个无限循环(Infinite Loop),或强迫循环在其自然结束之前结束。例如,我们想要在倒计数自然结束之前强迫它停止。break语句可以用在for、while和loop循环体中。

break既可以单独使用,也可以带参数,这个参数将作为循环体的返回值。

6.5.1 break单独使用

单独使用时,break的作用就是跳出循环,比如:

复制代码
fn main(){
    let mut x = 0;
    loop {
        x+=1;
        println!("x={}",x);
        if x==5 {
            break;
        }
    }
}

当满足x等于5的时候,就执行break语句,然后跳出loop循环,循环结束。输出结果如下:

复制代码
x=1
x=2
x=3
x=4
x=5

这个程序终止无限循环,当然也可以终止非无限循环,比如:

复制代码
fn main() {
    let mut x = 0;
    while x < 30 {
        x += 1;
        println!("{}", x);
        if x>5 {break;}
    }
    println!("循环结束了");
}

本来要执行30次循环,但一旦x大于5,就要执行break语句,从而提前跳出循环。输出结果 如下:

复制代码
1
2
3
4
5
6
循环结束了
相关推荐
UestcXiye7 小时前
Rust 学习笔记:Rust 简介
rust
若愚679213 小时前
前端与Rust后端交互:跨越语言鸿沟 (入门系列三)
前端·rust·交互
寻月隐君17 小时前
Rust实战:打造高效字符串分割函数
后端·rust·github
Lx35218 小时前
🌱 Rust内存管理黑魔法:从入门到"放弃"再到真香
rust
wqfhenanxc1 天前
Mixing C++ and Rust for Fun and Profit 阅读笔记
c++·笔记·rust
UestcXiye1 天前
Rust 学习笔记:函数和控制流
rust
Source.Liu1 天前
【mdlib】0 全面介绍 mdlib - Rust 实现的 Markdown 工具集
rust·markdown
机构师1 天前
<rust><iced><GUI>iced中的复合列表部件:combo_box
后端·rust
景天科技苑2 天前
【Rust】Rust中的枚举与模式匹配,原理解析与应用实战
开发语言·后端·rust·match·enum·枚举与模式匹配·rust枚举与模式匹配
红尘散仙2 天前
七、WebGPU 基础入门——Texture 纹理
前端·rust·gpu