|
goto文(ゴートゥぶん)はプログラミング言語において、無条件に指定されたラベルや行番号にジャンプ(跳ぶ)する文である。gotoとは、英語のgo toに由来する名称で、「○○へ行け」と言う意味を持つ。間に空白(スペース)を入れて "go to" を使用する・使用できる言語もある。 == goto文の使用への批判 == Cなどの構造化プログラミング言語においては、goto文はむやみに使ってはいけないと言う暗黙の約束がある。これは、goto文が原始的で自由度の高すぎる機能であるため、安易なgoto文の使用はプログラムの構造化を妨げ、デバッグなどが行いにくくなり、バグの発生や、メンテナンス性・可読性の低下の原因になりやすいからである。 しかし、多重にネストしたfor文やif文、while文などでエラー処理や例外処理などが複雑になる場合はgoto文を使った方がプログラムがすっきりと書けるケースもあるため、プログラムの構造を熟知したプログラマが状況に応じて使い分けるものとされている。 オブジェクト指向言語の場合は、エラー処理や例外処理などの仕組みが充実しているためにgoto文が必要になるケースが少ない。そのため、言語仕様として始めから用意されていないケースもある。こうした言語としては、Javaなどが挙げられる。一方では、PHPで、2009年にリリースされたバージョン5.3からgotoが追加された〔新機能 - PHPマニュアル(2013年12月4日閲覧)〕ように、高度化する言語構造の中でgoto文が一定の評価を受ける例もある。 BASICの様な言語や低レベルの制御言語ではgoto文は不可欠であり、goto文を利用しないと分岐やループを使ったプログラムが記述出来ないものもある。しかし、拡張されたBASICの中には、goto文がほとんど不必要になってしまっているものもある。 前述のように、goto文の安易な使用はプログラムの可読性を著しく低下させる。こうした可読性の低いコードのことを、制御構造が複雑に絡まっているという意味を込めて、スパゲティコードと呼ぶことがある。 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Goto文」の詳細全文を読む 英語版ウィキペディアに対照対訳語「 Goto 」があります。 スポンサード リンク
|