メリット
- 深いネストから抜けるときに使うとスッキリする。
- エラー処理に使うとスッキリする。(例外機構がなければ効果は絶大)
- 無限ループを明示的に表現できる
- ネストしない構文をifとgotoで書く事が可能。
- loopなどのループで、スタート箇所のトップレベルへのショートカットとしてgotoを利用可能。
- 再帰関数処理をifとgotoのループに展開可能。再帰的なラムダ式や無名関数的な用途で利用でき、コールスタックを消費しない方法で再帰関数を表現可能。
- チューリング完全となるので計算機上表現できるあらゆるコードを書ける。(Java等はgotoが無く、テンプレートやGenerics等がないとチューリング完全ではないらしいので、本質的に表現できない形式が存在する事になる。Javaゲームがつまらない原因の可能性がある)
デメリット
- 極端にGotoを嫌う人に叩かれる
- 一般に読みにくいコードになる
- 後藤さんが好き
- 一般的にgotoを使いすぎるとコンパイラの最適化効率が落ちる。
最終更新:2015年01月09日 23:25