プログラミング言語の機能の1つで、プログラムの実行位置を、指定位置へ強制的に変更するものです。
条件を指定せず、実行位置を変更する無条件分岐と呼ばれる制御構造を実現します。
プログラミング言語によって仕様は異なりますが、実行位置の変更先の指定には、ソースコード内に定義したラベルを使うことが多いです。実行が goto文のところに差し掛かると、指定されたラベルのところへ移動します。
C言語の goto文の解説が、C言語編第17章にあります。
あまりにも自由度が高くなりすぎるため、いわゆるスパゲッティプログラムと呼ばれるような、解読が難しいプログラムを生み出してしまう要因の1つになるといわれています。そのため、乱用、あるいは使用そのものを控えるべきだといわれることがあります。また、そのような理由もあって、プログラミング言語によっては、機能に制約をもたせている場合もあります。
ただし、プログラムの流れを制御する機能が乏しいC言語のような言語では、goto文を使ったほうがむしろ分かりやすく書けるケースもあり、一概に使用を禁止すべきとも言い切れません。
たとえば、入れ子になったループ構造の内側からの脱出や、複数個所で起こるエラーに対する共通化された処理の記述といったものが挙げられます。いずれの例も、C言語編第17章にあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |