标签和跳转

标签的语法是:

Lable : 

goto

goto 语句用于函数的内部的跳转

	var a int = 2

LOOP:
	for a < 5 {
		if a == 3 {
			a = a + 1
			goto LOOP
		}
		fmt.Printf("a= : %d\n", a)
		a++
	}
a= : 2
a= : 4

goto 语句不能跳过内 部变量声明语句

	goto Lable1
	a := 1
Lable1:
	fmt.Println(a)

goto Lable1 jumps over declaration of a

goto 语句句只能跳到同级作用域或者上层作用域内,不能跳到内部作用域内

break语句

可以跳出对应标签的循环

Label1:
   for i := 0; i < 10; i++ {
      for j := 0; j < 10; j++ {
         break Label1
         fmt.Println(i, j)
      }
   }
continue语句

continue 用于跳出 for 循环的本次选代,跳到 for 循环的下一次选代的 post 语句处执行

Label1:
	for i := 0; i < 2; i++ {
		for j := 0; j < 2; j++ {
			if j == 1 {
				continue Label1
			}
			fmt.Println(i, j)
		}
	}

输出

0 0
1 0
Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐