diff options
Diffstat (limited to 'Loop labels.md')
-rw-r--r-- | Loop labels.md | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/Loop labels.md b/Loop labels.md new file mode 100644 index 0000000..2110c71 --- /dev/null +++ b/Loop labels.md @@ -0,0 +1,27 @@ +[[Rust]] +[[Returning values from loops]] + +In nested loops we can use labels to determine which one to break from: +```rust +fn main() { + let mut count = 0; + 'counting_up: loop { + println!("count = {count}"); + let mut remaining = 10; + + loop { + println!("remaining = {remaining}"); + if remaining == 9 { + break; + } + if count == 2 { + break 'counting_up; + } + remaining -= 1; + } + + count += 1; + } + println!("End count = {count}"); +} +```
\ No newline at end of file |