bam6o0の記憶域

忘備録になればいいな

Go言語の勉強記録10bit

ラベル

  • break文、contineu文、goto文の宛先となる識別子
  • 宣言だけして使用しないとエラー
  • ラベルを宣言した関数内でのみ有効
  • 書式
ラベル名:

ラベルにbreakする

  • break文は通常は最も内側にあるfor文、switch文、select文の実行を中断する。
  • ラベルを使用するとネストした中で任意のfor文、switch文、select文の実行を中断できる。

実行結果

$go run label_break.go
0
1
2

ラベルにcontinueする。

  • for文内のcontinueも、任意のfor文の実行を中断させることができる。

実行結果

$go run label_continue.go
0
  0
  1
  2
1
  0
  1
2
  0
  1
  2

goto文

  • 指定したラベルを付けた分にプログラムの実行を移動する
  • 使用に制限あり
  • goto文の実行に酔ってそれまでスコープ外だった変数がスコープ内に入ってしまう場合はエラー
  • 書式
goto ラベル

実行結果

$go run goto.go
add 1
add 3
add 5
add 7
add 9