На Object Pascal вполне можно создать программу любой сложности без использования операторов перехода. Поэтому наличие в языке операторов перехода кажется излишним. Более того, современная технология структурного программирования основана на принципе «программировать без GOTO», так как считается, что злоупотребление операторами перехода затрудняет понимание программы, делает ее запутанной и сложной в отладке.
Тем не менее, в ряде случаев использование операторов перехода может упростить программу.
Оператор перехода имеет вид:
goto<метка>;
где goto- зарезервированное слово (перейти на [метку]);
<метка> - имя метки.
Метка в Object Pascal - это произвольный идентификатор, позволяющий именовать некоторый оператор программы и таким образом ссылаться на него. В целях совместимости со стандартным языком Pascal в Object Pascal допускается в качестве меток использование также целых чисел без знака.
Метка располагается непосредственно перед помечаемым оператором и отделяется от него двоеточием. Оператор можно помечать несколькими метками, которые в этом случае отделяются друг от друга двоеточием. Перед тем как появиться в программе, метка должна быть описана в разделе описания меток.
Действие оператора goto состоит в передаче управления соответствующему меченному оператору.
При использовании меток необходимо руководствоваться следующими правилами:
· метка, на которую ссылается оператор goto, должна быть описана в разделе описаний, и она обязательно должна встретиться где-нибудь в теле программы;
· метки, описанные в подпрограмме, локализуются в ней, поэтому передача управления извне подпрограммы на метку внутри нее невозможна.