goto

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.

Beispielcode

Beispielcode 1

void setup() { Serial.begin(9600); Serial.println("SETUP - TOP"); goto BOTTOM; Serial.println("SETUP - MIDDLE"); BOTTOM: Serial.println("SETUP - BOTTOM"); } void loop() { }

Das ergebnis am seriellen monitor:

COM6
Send
SETUP - TOP SETUP - BOTTOM
Autoscroll Show timestamp
Clear output
9600 baud  
Newline  

As we can see, the text "SETUP - MIDDLE" is not printed.

Beispielcode 2

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

※ 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

ARDUINO KAUFEMPFEHLUNG

Arduino UNO R3
Arduino Starter Kit
Bitte Beachten: Dies sind Partnerschaftslinks. Wenn Sie die Komponenten über diese Links Kaufen, können wir eine Provision erhalten, ohne weitere Kosten für Sie. Wir Schätzen es.

※ OUR MESSAGES