Go言語 - break先のラベルの位置
二重のforループからの脱出先として、forブロックの下にラベルを書いたらエラーになりました。どうやらforブロックの上に書くのが正解みたい。
感覚的にはブロックの下の方が正しいように思えます。何故上なのだろう?
package main import "fmt" func main() { LBL1: for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { if i == 1 { break LBL1 } fmt.Println(i, j) } } //LBL2: // ここを指定するとエラー fmt.Println("End.") }