ググれば最初に出てくるやり方ですが、きれいだし、自分が忘れないように書いておきます
Python
for i in loop1:
for j in loop2:
if time_to_break:
break
else:
continue
break
説明すると、
for…else…文とは、forが全て回りきった後一度だけelseの中を実行するというものです。
これを利用し、ループ2がbreakせず回りきるとelseに飛んでループ1を継続します。一方、ループ2の中でbreakすると、elseが実行されずループ1もbreakします。
Go
func main(){
Loop:
for i := 0; i < 3; i++ {
for j := 0; j < 3; j++ {
break Loop
}
}
}
Goでは、labeled breakという技が使えます。
上のコードではブロックにLoopという名前を付けておいて、中でbreakする際に名前を指定できます。即そのブロックを抜けられます。