Appearance
Rust 控制流
控制流是编程语言中用于控制程序执行流程的结构。本章节将介绍 Rust 中的控制流结构,包括条件语句和循环。
条件语句
if 语句
if 语句用于根据条件执行不同的代码块:
rust
fn main() {
let number = 5;
if number > 0 {
println!("Number is positive");
} else if number < 0 {
println!("Number is negative");
} else {
println!("Number is zero");
}
}if 表达式
在 Rust 中,if 是一个表达式,可以返回值:
rust
fn main() {
let number = 5;
let result = if number > 0 {
"Positive"
} else if number < 0 {
"Negative"
} else {
"Zero"
};
println!("Result: {}", result);
}注意:if 表达式的所有分支必须返回相同类型的值。
match 语句
match 语句是 Rust 中强大的模式匹配工具:
rust
fn main() {
let number = 3;
match number {
1 => println!("One"),
2 => println!("Two"),
3 => println!("Three"),
_ => println!("Other"),
}
}match 语句也可以返回值:
rust
fn main() {
let number = 3;
let result = match number {
1 => "One",
2 => "Two",
3 => "Three",
_ => "Other",
};
println!("Result: {}", result);
}if let 语句
if let 是 match 的简化形式,用于处理只有一个匹配分支的情况:
rust
fn main() {
let some_number = Some(5);
if let Some(x) = some_number {
println!("Number is: {}", x);
} else {
println!("No number");
}
}while let 语句
while let 用于在循环中处理 Option 类型:
rust
fn main() {
let mut stack = vec![1, 2, 3];
while let Some(top) = stack.pop() {
println!("Popped: {}", top);
}
}循环
loop 循环
loop 是一个无限循环,直到遇到 break 语句:
rust
fn main() {
let mut counter = 0;
loop {
counter += 1;
println!("Counter: {}", counter);
if counter >= 5 {
break;
}
}
}loop 可以返回值:
rust
fn main() {
let mut counter = 0;
let result = loop {
counter += 1;
if counter >= 5 {
break counter * 2;
}
};
println!("Result: {}", result);
}while 循环
while 循环在条件为真时执行:
rust
fn main() {
let mut counter = 0;
while counter < 5 {
println!("Counter: {}", counter);
counter += 1;
}
}for 循环
for 循环用于遍历集合:
rust
fn main() {
let numbers = [1, 2, 3, 4, 5];
for number in numbers {
println!("Number: {}", number);
}
// 遍历范围
for i in 0..5 {
println!("i: {}", i);
}
// 遍历迭代器
for i in (0..5).rev() {
println!("i: {}", i);
}
}循环控制
break 语句
break 语句用于退出循环:
rust
fn main() {
for i in 0..10 {
if i == 5 {
break;
}
println!("i: {}", i);
}
}continue 语句
continue 语句用于跳过当前循环迭代,继续下一次迭代:
rust
fn main() {
for i in 0..10 {
if i % 2 == 0 {
continue;
}
println!("i: {}", i);
}
}总结
- 条件语句:
if、if let、match - 循环:
loop、while、for - 循环控制:
break、continue - Rust 中的
if和match都是表达式,可以返回值
通过本章节的学习,你应该已经掌握了 Rust 中的控制流结构,可以在你的程序中使用这些结构来控制程序的执行流程。