课程名称:领略Rust之美,挑战双高语言
课程章节: 第4章 Rust 流程控制 4-4 使用loop循环 4-5 使用while循环
课程讲师:叶枭
课程内容:
今天学习的内容是 Rust 中的另一种流程控制逻辑,循环表达式。
流程控制包括分支和循环。Rust 提供了三种循环表达式:
- loop
- while
- for
loop 循环
Rust 中使用关键字loop
表示无限循环,除非使用 break
或者 continue
关键字来手动结束循环。
break
表示终止循环,continue
表示停止本次循环,开始执行下一次循环。
如下,是一个计算 1+2+3+...+100
的值的算法,使用了 loop
循环,当加数达到100后使用 break
结束循环:
fn main() {
let mut sum = 0;
let mut n = 0;
loop {
sum += n;
n += 1;
if n > 100 {
break;
}
}
println!("{}", sum)
}
代码执行,打印出 5050。
前文说过,Rust 中的循环也是表达式,那么就会有值的产生。在 loop 循环中,使用 break 结束循环,并在 break 后面跟上一个值,这个值就是 loop 表达式的值。
如下,从 0 开始计数,当 counter
等于 10 时,结束循环,并将 counter
的值乘以 2,赋值给变量 result
。
fn main() {
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2;
}
}; // 这里要加上分号
println!("{}", result);
}
while 循环
while
循环是最常见的循环之一。每次开始循环之前先要判断一些 while 的条件,如果条件为真,则执行循环,否则就停止循环。
如下,当变量 num
大于0时执行循环体内的逻辑:
fn main() {
let mut num = 3;
while num > 0 {
println!("{}", num);
num = num - 1;
}
println!("结束循环");
}
课程收获
这节课学习了 Rust 中的循环表达式,包括 loop
、while
循环。loop 循环一般用的比较少,可以用来试错。当结果正确时,使用 break
将结果返回。while
循环是使用的比较多。