Nesting and labels
It's possible to break
or continue
out loops or match
statements when dealing with nested loops and match
statements. In these cases, the statements must be annotated with some name
, and the label's name must be passed the break
or continue
statement.
import "fmt.odin";
main :: proc() {
outer: for {
fmt.println("Entered outer loop");
inner: for {
fmt.println("Entered inner loop");
// This would break only the inner loop
// break;
// This breaks the outer loop
break outer;
}
fmt.println("Never called");
}
fmt.println("Exited the outer loop");
}