GOTO

GOTO (англ. go to — «перейти к») — в некоторых языках программирования — оператор перехода к определённой точке программы, обозначенной номером строки либо меткой. Это основная операция по переносу контроля исполнения из одной части программы в другую, поскольку компиляторы транслируют другие операторы контроля исполнения в эффективные GOTO.

GOTO имеется в Фортране, Алголе, КОБОЛе, Snobol, Бейсике, Лиспе, Си, C++, D, Паскале, Perl, а также во многих других языках, в особенности, в ассемблере. В языке ассемблера, эквивалент для GOTO обычно называется JMP, JUMP или BRA.

GOTO отсутствует в некоторых языках высокого уровня. В частности, в Java имеется зарезервированное слово goto, но оно не несёт никакой функции.

Критика

Оператор GOTO в языках высокого уровня является объектом критики, поскольку чрезмерное применение операторов GOTO приводит к созданию нечитаемого и неподдерживаемого «спагетти-кода».

Оператор GOTO широко использовался в Бейсике (из-за чего, возможно, Э. Дейкстра и сказал об умственной деградации студентов, изучавших Бейсик), однако применение этого оператора не рекомендуется: оно недопустимо в структурном программировании.

Тем не менее, в языках, где операторы break и continue могут относится только к самому вложенному циклу, использование goto иногда необходимо. (Также можно использовать блок try ... catch и оператор throw, но это неэффективно по производительности.)

 
Начальная страница  » 
А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
0 1 2 3 4 5 6 7 8 9 Home