Diese Seite ist auch in 2 anderen Sprachen verfügbar.
Sprache wechseln  

goto

[Control Structure]

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

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