Perl goto-Anweisung

Perl 循环Perl-Schleifen

gotoEs ist eine Kontrollflussanweisung in der Programmiersprache Perl, mit der du die Programmausführung zu einem angegebenen Label springen lassen kannst.

Perl hat dreigotoFormen:goto LABLE, goto EXPR und goto &NAME:

Nein.goto-Typ
1goto LABEL

Finde die als LABEL markierte Anweisung und führe sie von dort erneut aus.

2goto EXPR

Die Form goto EXPR ist nur eine allgemeine Form von goto LABEL. Sie erwartet, dass der Ausdruck einen Labelnamen erzeugt, und springt zu diesem Label, um es auszuführen.

3goto &NAME

Es ersetzt die aktuell laufende Subroutine durch einen Aufruf einer benannten Subroutine.

Syntax

Das Syntaxformat lautet wie folgt:

goto LABEL

oder 

goto EXPR

oder 

goto &NAME

Flussdiagramm

Beispiel

Die folgenden zwei Beispiele überspringen die Ausgabe, wenn die Variable $a 15 ist.

Das Folgende ist ein gängiges goto-Beispiel:

Beispiel

#/usr/bin/perl $a = 10; LOOP:do { if( $a == 15){ # Iteration überspringen $a = $a + 1; # Verwendung der goto-LABEL-Form print "Ausgabe überspringen\n"; goto LOOP; print "Diese Anweisung wird nicht ausgeführt.\n"; } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );

Führen Sie das obige Programm aus, und das Ausgabeergebnis ist:

a = 10
a = 11
a = 12
a = 13
a = 14
跳出输出 
a = 16
a = 17
a = 18
a = 19

Das folgende Beispiel verwendet die goto-EXPR-Form. Wir haben zwei Zeichenketten verwendet und sie mit dem Punktoperator (.) verkettet.

Beispiel

$a = 10; $str1 = "LO"; $str2 = "OP"; LOOP:do { if( $a == 15){ # Iteration überspringen $a = $a + 1; # Verwendung der goto-EXPR-Form goto $str1.$str2; # Ähnlich wie goto LOOP } print "a = $a\n"; $a = $a + 1; }while( $a < 20 );

Führen Sie das obige Programm aus, und das Ausgabeergebnis ist:

a = 10
a = 11
a = 12
a = 13
a = 14
a = 16
a = 17
a = 18
a = 19

Hinweis:Die Verwendung von goto macht den Code oft schwer verständlich und wartbar. Daher sollten Sie in den meisten Fällen darauf verzichten und versuchen, strukturierte Kontrollflussanweisungen (wie if, else, while, for usw.) zu verwenden, um Code zu schreiben.

Perl 循环Perl-Schleifen

Weitere Erweiterungen