break и continue
Если нужно сразу перейти к следующей итерации, используйте continue.
Если нужно досрочно выйти из любого цикла, используйте break. В loop можно передать необязательное выражение, которое станет значением выражения loop.
// Copyright 2023 Google LLC
// SPDX-License-Identifier: Apache-2.0
fn main() {
let mut i = 0;
loop {
i += 1;
if i > 5 {
break;
}
if i % 2 == 0 {
continue;
}
dbg!(i);
}
}
This slide and its sub-slides should take about 4 minutes.
Обратите внимание, что loop — единственная конструкция цикла, которая может вернуть нетривиальное значение. Это связано с тем, что она гарантированно завершается только через break (в отличие от циклов while и for, которые также могут завершиться, когда условие становится ложным).