goto

goto rótulo;

O goto faz o programa saltar para um ponto marcado com um rótulo, em qualquer lugar da mesma função. É uma ferramenta poderosa, mas hoje é considerada ultrapassada: quase sempre um for, while ou break deixa o código bem mais claro. Use com muita parcimônia.

Sintaxe

goto rotulo;
// ...
rotulo:
  // execução continua aqui

Parâmetros

  • rotulo: um nome seguido de : que marca o destino do salto, dentro da mesma função.

Retorno

Nada (void).

Exemplo

void setup() {
  Serial.begin(9600);

  for (int i = 0; i < 10; i++) {
    for (int j = 0; j < 10; j++) {
      if (analogRead(A0) > 900) {
        goto fim;  // sai de dois laços de uma vez
      }
    }
  }

fim:
  Serial.println("Encerrado");
}

void loop() {
}

Notas e cuidados

  • O único caso em que o goto ainda ganha do resto é sair de laços aninhados de uma vez só, onde break sairia de apenas um.
  • Usar goto demais gera o temido "código espaguete", difícil de ler e depurar.
  • Você só pode saltar dentro da mesma função — não dá para pular para outra.

Quer aprender a usar isso em projetos reais, do zero?

Conhecer o Curso Maker