探究 if 作为表达式的赋值技巧,掌握 loop 的返回值特性,以及在多层嵌套循环中使用生命周期标签精准 break。

1. if 作为表达式使用

在 Rust 中,if 是一个表达式,可以直接用于变量初始化(类似其他语言的三元运算符):

let condition = true;
let number = if condition { 5 } else { 6 };

2. loop 循环带返回值与循环标签

loop 循环可以通过 break 语句携带返回值,在重试网络连接或等待任务时极其优雅:

let mut counter = 0;
let result = loop {
    counter += 1;
    if counter == 10 {
        break counter * 2;
    }
};

// 循环标签 (Loop Labels)
'outer: loop {
    'inner: loop {
        break 'outer; // 直接跳出外层循环
    }
}