スマートフォン用の表示で見る

goto

コンピュータ

GOTO

ごーとぅ

goto (または goto文) とは、手続き型プログラミング言語においてプログラム中の任意の位置に制御を移動する命令である。サブルーチンや関数などの呼び出しとは異なり、GOTO では移動したあとに元の場所には帰ってこない。

下の BASICプログラムでは、10行目を実行したあと20行目で制御を10行目へと移している。結果10行目が延々と実行されるプログラムになっている。

10: PRINT "HELLO WORLD"
20: GOTO 10

goto は BASIC, C/C++/C#, Pascal などの多くのプログラミング言語で使用することができる。また java においても break や continue など goto によく似た機能を持つ命令が用意されている。ただし近年設計されたプログラミング言語では goto は用意されていないか、あるいは制限付きで用意されている場合が多い。それは、goto を乱用したプログラムは可読性や保守性の悪化などにより品質が落ちる傾向があり、また goto よりも理解しやすい制御構造を用いるため goto が事実上不要となっているからである。

しかし goto を用いたほうが理解しやすいプログラムになる場合も存在する。そのため goto を不要と考える人と必要と考える人の間には、しばしば不毛な論争が発生する。