0
0
Rustprogramming~5 mins

Loop labels in Rust

Choose your learning style9 modes available
Introduction

Loop labels help you control which loop to stop or continue when you have loops inside loops.

When you have a loop inside another loop and want to stop the outer loop from inside the inner loop.
When you want to skip to the next round of an outer loop from inside a nested loop.
When you want to make your code clearer by naming loops instead of guessing which loop breaks.
When you want to avoid confusing or complicated logic with flags or extra variables.
Syntax
Rust
'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.

Examples
This breaks the labeled loop named 'outer immediately.
Rust
'outer: loop {
    println!("Outer loop");
    break 'outer;
}
This breaks the outer loop from inside the inner loop.
Rust
'outer: loop {
    'inner: loop {
        break 'outer;
    }
}
This skips the rest of the outer loop when i is 3.
Rust
'counting_up: loop {
    for i in 1..=5 {
        if i == 3 {
            continue 'counting_up;
        }
        println!("i = {}", i);
    }
    break;
}
Sample Program

This program shows how to use loop labels to break or continue the outer loop from inside the inner loop.

Rust
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");
}
OutputSuccess
Important Notes

Loop labels only work with loop, while, and for loops.

Labels make nested loops easier to manage and understand.

Summary

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.