Introduction
Loop labels help you control which loop to stop or continue when you have loops inside loops.
Loop labels help you control which loop to stop or continue when you have loops inside loops.
'label_name: loop {
// code
break 'label_name;
}Loop labels start with a single quote followed by a name, like 'outer.
You use break 'label_name; or continue 'label_name; to control that loop.
'outer: loop {
println!("Outer loop");
break 'outer;
}'outer: loop { 'inner: loop { break 'outer; } }
'counting_up: loop { for i in 1..=5 { if i == 3 { continue 'counting_up; } println!("i = {}", i); } break; }
This program shows how to use loop labels to break or continue the outer loop from inside the inner loop.
fn main() {
let mut count = 0;
'outer: loop {
println!("Start outer loop: count = {}", count);
let mut inner_count = 10;
'inner: loop {
println!(" Inner loop: inner_count = {}", inner_count);
if inner_count == 8 {
println!(" Breaking outer loop from inner loop");
break 'outer;
}
if inner_count == 9 {
println!(" Continuing outer loop from inner loop");
inner_count -= 1;
continue 'outer;
}
inner_count -= 1;
}
count += 1;
}
println!("Exited outer loop");
}Loop labels only work with loop, while, and for loops.
Labels make nested loops easier to manage and understand.
Loop labels let you name loops to control them directly.
You can break or continue a specific loop by its label.
This helps when you have loops inside loops and want clear control.
loop labels in Rust?'label: before the loop keyword.'label: loop {}.fn main() {
let mut count = 0;
'outer: loop {
println!("Outer loop: {}", count);
let mut inner_count = 10;
loop {
println!(" Inner loop: {}", inner_count);
if inner_count == 9 {
break 'outer;
}
inner_count -= 1;
}
count += 1;
}
println!("Done");
}fn main() {
'start: loop {
loop {
break start;
}
}
}break 'start;.break start; missing the apostrophe before the label name, causing a syntax error.'outer and 'inner, how can you skip the current iteration of the outer loop from inside the inner loop?continue 'outer; skips the current iteration of the loop labeled 'outer, jumping to its next iteration.break exits the loop, while continue skips to the next iteration. To skip outer loop iteration from inner loop, use continue 'outer;.Pass the test and this pattern moves unknown