Go语言 continue语句

Go语言循环语句Go语言循环语句

Go语言的 continue语句 有点像 break语句。但是 continue 不是跳出循环,而是跳过当前循环执行下一次循环语句。

for 循环中,执行 continue语句会触发 for 增量语句的执行。

在多重循环中,可以用标号 label 标出想 continue 的循环。

 

1. continue语句的语法

continue 语法格式如下:

continue;

continue语句流程图如下:

 

2. 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语言 goto语句:Go语言的goto语句可以无条件地转移到过程中指定的行。goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。但是,在结构化程序设计中一般不主张使用 goto语句,以免造成程序流程的混乱,使理解和调试程序都产生困难。