Go 語言 continue 語句
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++;
}
}
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
}
}
}
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