Rust Basics

Rust Loops: for, while and loop

Three ways to repeat code in Rust, and how break can return a value from loop.

  • Beginner
  • 3 min read
  • 1 runnable example
What you'll learn
  • for over a range
  • while with a condition
  • loop with break
for n in 1..=3
1print
2print
3print
4not in range
The range 1..=3 produces 1, 2 and 3.

Three loops for three jobs

Rust has three loops. for visits each item of a range or collection, while repeats as long as a condition is true, and loop repeats until you break out of it.

1..=3 is a range that includes 3; 1..3 would stop at 2. The while loop ends when countdown reaches 0. break total leaves the loop and returns a value, which is stored in result.

Key points

  1. 1..=3 includes 3; 1..3 stops at 2.
  2. while repeats as long as the condition is true.
  3. break value leaves loop and returns the value.

Runnable Rust example

Rust
Run code →
main.rs
fn main() {
    for n in 1..=3 {
        println!("for: {n}");
    }

    let mut countdown = 3;
    while countdown > 0 {
        println!("while: {countdown}");
        countdown -= 1;
    }

    let mut total = 0;
    let result = loop {
        total += 10;
        if total >= 30 {
            break total;
        }
    };
    println!("loop result: {result}");
}
Get a Run button for this example Result of running the code
for: 1
for: 2
for: 3
while: 3
while: 2
while: 1
loop result: 30

Practice

Open the example in the online compiler, change a value or add a line, and predict the output before you run it. Then break the code on purpose and read the compiler's message.

Finished this lesson?

Mark it as learned to track your progress.

Next: Prime Numbers →

Practice with a challenge

Use what this lesson covers to solve a real problem. Each challenge runs in your browser with instant tests and an AI review.

All challenges