Go 語言 continue 語句

Go 語言迴圈語句Go 語言迴圈語句

Go 語言的 continue 語句 有點像 break 語句。但是 continue 不是跳出迴圈,而是跳過當前迴圈執行下一次迴圈語句。

for 迴圈中,執行 continue 語句會觸發 for 增量語句的執行。

在多重迴圈中,可以用標號 label 標出想 continue 的迴圈。

語法

continue 語法格式如下:

continue;

continue 語句流程圖如下:

實例

在變數 a 等於 15 的時候跳過本次迴圈執行下一次迴圈:

實例

package main

import "fmt"

func main() {
   /* 定義局部變數 */
   var a int = 10

   /* for 迴圈 */
   for a < 20 {
      if a == 15 {
         /* 跳過此次迴圈 */
         a = a + 1;
         continue;
      }
      fmt.Printf("a 的值為 : %d\n", a);
      a++;    
   }  
}

以上實例執行結果為:

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

以下實例有多重迴圈,演示了使用標記和不使用標記的區別:

實例

package main

import "fmt"

func main() {

    // 不使用標記
    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
            }
    }

    // 使用標記
    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
                }
        }
}

以上實例執行結果為:

---- 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

Go 語言迴圈語句Go 語言迴圈語句