goto
Описание
Передаёт поток выполнения программы к помеченной точке в программе.
Синтаксис
label:
goto label; // передаёт поток выполнения к метке
Пример кода
for (byte r = 0; r < 255; r++) {
for (byte g = 255; g > 0; g--) {
for (byte b = 0; b < 255; b++) {
if (analogRead(0) > 250) {
goto bailout;
}
// другие инструкции ...
}
}
}
bailout:
// другие инструкции ...
Примечания и предупреждения
Использование goto не приветствуется в программировании на C, и некоторые авторы книг по C утверждают, что оператор goto никогда не нужен, но при разумном применении он может упростить определённые программы. Причина, по которой многие программисты неодобрительно относятся к использованию goto, заключается в том, что при бесконтрольном использовании операторов goto легко создать программу с непредсказуемым потоком выполнения, которую невозможно будет отладить.
Тем не менее, бывают случаи, когда оператор goto может пригодиться и упростить написание кода. Одна из таких ситуаций — выход из глубоко вложенных циклов for или логических блоков if при наступлении определённого условия.