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 при наступлении определённого условия.

Смотрите также