13.1.3 Оператор Goto

Вверх  Предыдущий  Следующий

Free Pascal поддерживает оператор Goto (оператор перехода). Его синтаксический прототип


Оператор Goto

1305


При использовании оператора Goto, нужно иметь в виду следующие:

1.Метка перехода (куда переходить) должна быть определена в том же блоке, что и оператор Goto.

2.Переходы из цикла и в цикл могут иметь странные последствия.

3.Для того, чтобы использовать оператор Goto, необходимо использовать переключатель компилятора -SG или директиву {$GOTO ON}.

Примечание:

В стандарте ISO, режиме macpas или с modeswitch "nonlocalgoto", компилятор также позволяет нелокальные переходы.

Использование оператора Goto считаются плохой практикой и его следует избегать, насколько это возможно. Всегда можно заменить конструкцию с оператором goto, на конструкцию без goto, хотя эта конструкция может быть не столь же понятна. Например, следующая конструкция с оператором goto разрешена.

label

jumpto;

...

Jumpto :

Statement;

...

Goto jumpto;

...