Beschreibung
Springt im Programmfluss zu einem bestimmten benannten Punkt.
Syntax
label:
goto label; // Springt zu dem Label.
Parameter
label
: Das Label an der Stelle, zu der gesprungen werden soll.
Rückgabewert
Nichts.
Springt im Programmfluss zu einem bestimmten benannten Punkt.
label:
goto label; // Springt zu dem Label.
label
: Das Label an der Stelle, zu der gesprungen werden soll.
Nichts.
Der Code zeigt, wie goto
aus einem Programm mit 3 Schleifen an eine bestimmte Stelle springt.
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;}
// Weitere Statements
}
}
}
bailout:
// Weitere Statements
Es wird nicht empfohlen, goto
in der C++-Programmierung zu verwenden. Viele Autoren sagen sogar, dass der goto
-Operator unnötig ist.
Das Problem mit goto
ist, dass der Code schnell nahezu unlesbar wird und nicht mehr zu debuggen ist.
Manchmal kann ein goto
nützlich sein. Z.B um aus einer hohen Schleifentiefe wie im Beispielcode oben herauszuspringen (Obwohl dies mit return auch klappen würde).