课程名称:领略Rust之美,挑战双高语言
课程章节: 第2章 Rust基础
主讲老师:叶枭
课程内容:
今天学习的内容包括:Rust 中的流程控制。
课程收获:
学习了三种常用的流程控制语法,if 条件判断,while 循环和 loop 循环。
流程控制
Rust 的流程控制分为两类:
-
条件判断(if)
-
循环(loop、while)
主要涉及到三个语法:if
、loop
和 while
。
if 条件判断
和大多数语言不同的是,Rust 的条件判断并不需要加上小括号 ()
,是可以省略的。
fn main() {
let num = 10;
if num > 8 {
println!("num 大于 8");
} else {
println!("num 小于 8");
}
}
如果写上括号,编译器会提示“warning: unnecessary parentheses around if
condition”,也就是不必要的插入语。
同时,Rust 中也不存在强制类型转换,在写判断条件时,必须是准确的 true 或者 false:
let num = 10
if num > 10 {} // √
if num {} // 在 JS 中 10 会类型转换为 true
loop 循环
loop
用于创建无限循环,使用 break 关键字来跳出循环。
// 无限循环下去
loop {
println!("旋转,跳跃,我不停歇!");
}
// 无限循环下去
loop {
println!("旋转,跳跃,我不停歇!");
// 跳累了,要歇会
break;
}
break 关键字在结束循环时还可以返回一个值:
let mut count = 1;
let loop_count = loop {
count += 1;
if count > 100 {
// 循环了 101 次,跳出循环,并返回一个结果
break count;
}
};
println!("一共循环了:{} 次", loop_count);
// 一共循环了:101 次
while 循环
while 循环是最典型的条件语句循环。 只要条件表达式保持为 true,就会一直循环下去。
结束循环的调节就是将条件设为 false。
let mut count = 0
while count < 5 {
println!("我们跳啊跳,跳啊条...");
count += 1;
}
println!("结束循环");