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
gotoainda ganha do resto é sair de laços aninhados de uma vez só, ondebreaksairia de apenas um. - Usar
gotodemais 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.