Skip to content

04.控制流

循环控制

Rust 中使用 breakcontinue 控制循环,分别代表终止当前层循环和跳过该次循环。

loop 循环

loop 循环体中的内容将无限循环执行,直到遇到停止条件,格式如下:

rust
let mut x = 1;
loop {
    println!("Hello, world!");
    if x == 10 {  // if 分支语法格式:条件无小括号包裹,执行体使用大括号包裹
        break;  // 使用 break 跳出当前层循环
    }
    x += 1;
}

带标签的 loop 循环

rust
'outer: loop{
    'inner: loop{
        println!("使用标签跳出最外层循环");
        break 'outer;  // 使用标签跳出最外层循环
    }
}

使用 loop 循环赋值

rust
let mut x = 1;
let res = loop {
    if x == 10 {
        break x  // 使用 break 语句进行赋值
    }
    x += 1;
};
println!("res = {}", res);

break 语句后面使用 x 变量,在没有分号结尾的情况下为表达式,将 x 赋值给 res 变量,输出:res = 10

while 循环

Rust 的 while 循环格式和 if 分支类似,条件无需小括号包裹,执行体使用大括号包裹。

for 循环

for 循环语法格式:变量名 in 开始值..=结束值

如果不加等于号,则为左闭右开,否则为两侧闭

rust
for i in 1..=10 {
    println!("i = {}", i);
}