Rust入门-04-控制流
控制流
if表达式
-
关键字
if后跟条件- 条件不加括号
if number < 5 { println!("condition was true"); } else { println!("condition was false"); }-
条件必须是
bool值(即结果必须为1或0,不可为其他整数等)- Rust 不会自动将非布尔值转换为布尔值
//则想要 if 代码块只在一个数字不等于 0 时执行,可以这样表达 if number != 0 { println!("number was something other than zero"); } -
else if 表达式
- Rust执行第一个条件为真的代码块后,不会再执行之后的代码块
在 let 语句中使用 if
- 因为
if是一个表达式(可以返回值),所以可以在let语句的右侧使用它来将结果赋值给一个变量
let condition = true;
let number = if condition { 5 } else { 6 }; //if分支和 else 分支的结果类型要相同
//因为变量只有一个类型
println!("The value of number is: {}", number);
输出结果为
The value of number is: 5
使用循环(loop)重复执行
- 有三种循环
loopwhilefor
-
loop会一直循环执行代码直到手动停止程序loop { println!("again!"); }该代码会反复输出
again!- 可以使用 ctrl-c 终止无限循环的程序
-
break退出循环 -
continue进行下一次循环 -
从循环中返回
- 使用
break表达式加想要返回的值; - 该值将从循环中返回
let mut counter = 0; let result = loop { counter += 1; if counter == 10 { break counter * 2; } }; println!("The result is {}", result);输出结果为20
- 使用
-
while条件循环
while number != 0 { println!("{}!", number); number -= 1; }
- 当条件为真就执行,否则退出循环
- 使用
for遍历集合
-
执行
for循环直到条件为假let a = [10, 20, 30, 40, 50]; for element in a { println!("the value is: {}", element); }
使用while时可能会出错
-
使用
for循环倒计时例子for number in (1..4).rev() { println!("{}!", number); } println!("LIFTOFF!!!");该例子使用了
rev方法,用来反转区间(range)
循环标签(loop labels)
可以使用标签
'label_name:(单引号+标签名+冒号) 来指定你的break或continue语句作用的循环。

浙公网安备 33010602011771号