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