continue-Anweisung in der Go-Sprache

Schleifenanweisungen in der Go-Sprache

Die continue-Anweisung von Go ähnelt in gewisser Weise der break-Anweisung. Allerdings bricht continue nicht aus der Schleife aus, sondern überspringt die aktuelle Iteration und führt die nächste Schleifeniteration aus.

In einer for-Schleife löst die Ausführung einer continue-Anweisung die Ausführung der for-Inkrement-Anweisung aus.

In verschachtelten Schleifen können Sie ein Label verwenden, um die Schleife zu markieren, die Sie fortsetzen möchten.

Syntax

Das Syntaxformat von continue lautet wie folgt:

continue;

Das Flussdiagramm der continue-Anweisung sieht wie folgt aus:

Beispiel

Wenn die Variable a gleich 15 ist, überspringen Sie die aktuelle Schleifeniteration und führen Sie die nächste Schleifeniteration aus:

Beispiel

package main

import "fmt"

func main() {
   /* Lokale Variablen definieren */
   var a int = 10

   /* for-Schleife */
   for a < 20 {
      if a == 15 {
         /* diese Iteration überspringen */
         a = a + 1;
         continue;
      }
      fmt.Printf("Der Wert von a ist: %d\n", a);
      a++;    
   }  
}

Das Ausführungsergebnis des obigen Beispiels ist:

a 的值为 : 10
a 的值为 : 11
a 的值为 : 12
a 的值为 : 13
a 的值为 : 14
a 的值为 : 16
a 的值为 : 17
a 的值为 : 18
a 的值为 : 19

Das folgende Beispiel enthält mehrere Schleifen und zeigt den Unterschied zwischen der Verwendung eines Labels und der Nichtverwendung eines Labels.

Beispiel

package main

import "fmt"

func main() {

    // ohne Label
    fmt.Println("---- continue ---- ")
    for i := 1; i <= 3; i++ {
        fmt.Printf("i: %d\n", i)
            for i2 := 11; i2 <= 13; i2++ {
                fmt.Printf("i2: %d\n", i2)
                continue
            }
    }

    // mit einem Label
    fmt.Println("---- continue label ----")
    re:
        for i := 1; i <= 3; i++ {
            fmt.Printf("i: %d\n", i)
                for i2 := 11; i2 <= 13; i2++ {
                    fmt.Printf("i2: %d\n", i2)
                    continue re
                }
        }
}

Das Ausführungsergebnis des obigen Beispiels ist:

---- continue ---- 
i: 1
i2: 11
i2: 12
i2: 13
i: 2
i2: 11
i2: 12
i2: 13
i: 3
i2: 11
i2: 12
i2: 13
---- continue label ----
i: 1
i2: 11
i: 2
i2: 11
i: 3
i2: 11

Schleifenanweisungen in der Go-Sprache

Weitere Erweiterungen