Операторы и выражения
Оператор goto, процедуры Break и Continue
Использование оператора безусловного перехода goto в коде категорически не рекомендуется.
В языке Delphi имеются ограничения на использование goto:
- С помощью
gotoнельзя переходить внутрь производных операторов, не содержащих данный операторgoto; - С помощью оператора
gotoнельзя входить в подпрограмму или выходить из нее; - Для
gotoзапрещен переход из одной "ветки" в другую в операторах выбораif-then-elseиcase.
Однако даже их существование не означает, что использование оператора безусловного перехода не сделает код программы очень трудным для восприятия.
Если необходимость применения goto все же возникла, не стоит осуществлять с его помощью переходы против направления выполнения программы и далекие от места вызова оператора.
Примечание:
Любую программу можно переписать таким образом, чтобы она выполняла необходимые функции без оператораgoto.
Применение процедуры Break для выхода из цикла и процедуры Continue для перехода на следующую его итерацию более оправдано, чем применение goto, хотя без их использования также можно обойтись. При наличии не слишком ресурсоемкого способа избежать вызова данных процедур ему стоит отдавать предпочтение.