Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

goto

Transfere o fluxo do programa para um outro ponto etiquetado

Sintaxe

label:

goto etiqueta; // envia o fluxo do programa para etiqueta

Dica

O uso do goto é desencorajado em programação C e inclusive alguns autores afirmam que o goto nunca é realmente necessário, mas usado com cautela pode simplificar alguns programas. A razão pela qual muitos programadores desaprovam seu uso é que com o uso indiscriminado é fácil de se criar um programa com um fluxo indefinido e muito difícil de ser depurado. No entanto, há casos em que o goto pode ser útil e simplificar o código. Uma destas situações é provocar uma saída de um grupo de loops aglutinados ou de blocos lógicos if com uma determinada condição.

Exemplo

for(byte r = 0; r < 255; r++){

    for(byte g = 255; g > -1; g--){
        for(byte b = 0; b < 255; b++){
            if (analogRead(0) > 250){ goto bailout;}
            // more statements ... 
        }
    }

}