while let

    1. fn main() {
    2. // 将 `optional` 设为 `Option<i32>` 类型
    3. let mut optional = Some(0);
    4. // 分析:当 `let` 将 `optional` 解构成 `Some(i)` 时,就
    5. while let Some(i) = optional {
    6. if i > 9 {
    7. println!("Greater than 9, quit!");
    8. optional = None;
    9. } else {
    10. }
    11. // ^ 使用的缩进更少,并且不用显式地处理失败情况。
    12. }
    13. // ^ `if let` 有额外可选的 `else`/`else if` 分句,
    14. // 而 `while let` 没有。
    15. }