goto
Beschreibung
Springt im Programmfluss zu einem bestimmten benannten Punkt.
Syntax
1label:2
3 goto label; // Springt zu dem Label.
Parameter
label
: Das Label an der Stelle, zu der gesprungen werden soll.Rückgabewert
Nichts.
Beispielcode
Der Code zeigt, wie
goto
aus einem Programm mit 3 Schleifen an eine bestimmte Stelle springt.1for(byte r = 0; r < 255; r++) {2 for(byte g = 255; g > -1; g--) {3 for(byte b = 0; b < 255; b++){4 if (analogRead(0) > 250){ goto bailout;}5 // Weitere Statements6 }7 }8 }9
10 bailout:11 // Weitere Statements
Anmerkungen und Warnungen
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).Siehe auch
Suggest changes
The content on docs.arduino.cc is facilitated through a public GitHub repository. If you see anything wrong, you can edit this page here.
License
The Arduino documentation is licensed under the Creative Commons Attribution-Share Alike 4.0 license.