[Control Structures]
Description
Transfers program flow to a labeled point in the program
Syntax
label: goto label; // sends program flow to the label
Tip
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. With that said, there are instances where a goto statement can come in handy, and simplify coding. One of these situations is to break out of deeply nested for
loops, or if
logic blocks, on a certain condition.
Example Code
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 ... } } } bailout:
Language Reference Home
The text of the 86Duino reference is a modification of the Arduino reference and is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.