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 Statements
6 }
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.