hakeの日記

Windows環境でプログラミングの勉強をしています。

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.")
}