goto

Descripción

Transfiere el flujo del programa a un punto etiquetado en el programa.

Sintaxis

label: goto label; // deriva el flujo del programa a la etiqueta

Ejemplo

Ejemplo 1

void setup() { Serial.begin(9600); Serial.println("SETUP - TOP"); goto BOTTOM; Serial.println("SETUP - MIDDLE"); BOTTOM: Serial.println("SETUP - BOTTOM"); } void loop() { }

The result on Serial Monitor:

COM6
Send
SETUP - TOP SETUP - BOTTOM
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

As we can see, the text "SETUP - MIDDLE" is not printed.

Ejemplo 2

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 rescate; } // más instrucciones ... } } } rescate: // más instrucciones ...

※ Nota:

El uso de goto se desaconseja en la programación C, y algunos autores de libros de programación C afirman que la sentencia goto no es necesaria, pero se utiliza juiciosamente, se pueden simplificar ciertos programas. La razón por la que muchos programadores desaprueban el uso de goto es que con el uso incontrolado de sentencias goto, es fácil para crear un programa con el flujo del programa no definido, que nunca puede ser depurado.

Dicho esto, hay casos en que una instrucción goto puede venir bien, y simplificar la codificación. Una de estas situaciones es para salir de anidado de los bucles, o de los bloques lógicos if, en una determinada condición.

ARDUINO BUY RECOMMENDATION

Arduino UNO R3
Arduino Starter Kit
Please note: These are Amazon affiliate links. If you buy the components through these links, We will get a commission at no extra cost to you. We appreciate it.

※ OUR MESSAGES