Go has only one looping keyword: for. The same keyword covers C-style for, while, and for-ever.
for i := 0; i < 10; i++ {
println(i)
}
for n < 100 {
n *= 2
}
for {
if shouldStop() {
break
}
}
for i, v := range slice {
_, _ = i, v
}
for k, v := range m {
_, _ = k, v
}
for i, r := range "Hi" { // i byte offset, r rune
_, _ = i, r
}
If you only need the value, use _ for the index/key.
A labeled break exits the outer loop.
Outer:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
if i*j > 2 {
break Outer
}
}
}