Rust提供了多种控制流语句来控制程序的执行流程。
if-else
用于根据条件执行不同的代码块。
rust
// if else
let x = 5;
if x > 0 {
println!("x is positive");
} else {
println!("x is not positive");
}
// if else if
if x > 0 {
x+1;
} else if x > 10 {
x-1;
} else {
x;
}
// 三目运算,运算值的数据类型应该相同
let number = if true { 5 } else { 6 };
match
类似于java的switch
rust
let x = 3;
match x {
1 => println!("x is 1"),
2 => println!("x is 2"),
3 => println!("x is 3"),
_ => println!("x is something else"), // 默认
}
while
用于重复执行一段代码,直到条件不满足为止。
rust
let mut i = 0;
let array = [1,2,3,4,5,6,7];
while i < array.len() {
println!("{}",array[i]);
i += 1;
}
for
用于遍历集合或范围,并执行一段代码。
rust
for x in 0..5 {
println!("x is {}", x);
}
loop
用于无限循环,直到显式地跳出循环。
rust
loop {
println!("This is an infinite loop");
break; // 显式地跳出循环
}
continue
用于跳过当前迭代,进入下一次迭代。
rust
for x in 0..5 {
if x == 2 {
continue; // 跳过 x = 2 的情况
}
println!("x is {}", x);
}
break
用于跳出当前循环或 switch 语句
rust
for x in 0..5 {
if x == 3 {
break; // 跳出循环,不再执行后续迭代
}
println!("x is {}", x);
}