Description
Transfers program flow to a labeled point in the program
Syntax
label:
goto label; // sends program flow to the label
Transfers program flow to a labeled point in the program
label:
goto label; // sends program flow to the 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;
}
// more statements ...
}
}
}
bailout:
// more statements ...
The use of goto
is discouraged in C programming, and some authors of C programming books claim that the goto
statement is never necessary, but used judiciously, it can simplify certain programs. The reason that many programmers frown upon the use of goto is that with the unrestrained use of goto
statements, it is easy to create a program with undefined program flow, which can never be debugged.
LANGUAGE break
LANGUAGE continue
LANGUAGE do...while
LANGUAGE else
LANGUAGE for
LANGUAGE if
LANGUAGE return
LANGUAGE switch...case
LANGUAGE while