Go语言流程控制-break、continue和goto – 21运维
通知: .-...

Go语言流程控制-break、continue和goto

GO 21运维 431浏览

goto,break continue主要用于流程控制中的一些跳出(内外层)或继续循环。
一,goto
跳转goto一般配合标签使用,用于跳转至标签后代码。
1,声明标签语法
标签名:
语句块
2,用法举例
(1)跳出多重循环

package main
import "fmt"
func main() {
   for x := 0; x < 10; x++ {
      for y := 0; y < 10; y++ {
         fmt.Println(x,y)
         if y == 2 {
            // 跳转到标签
            goto breakHere
         }
      }
   }
   // 手动返回, 避免执行进入标签
   return
   // 标签
breakHere:
   fmt.Println("done")
}

输出结果:
0 0
0 1
0 2
done

(2)代码复用。

说明:goto虽然好用,但不建议过于使用,大量使用影响代码的可读性。

二,break
break 可以结束for、switch和select代码块。 break还可以后边添加标签,表示退出某个标签对应的代码块。
说明:标签要求比如定义在对应的for、switch和select,否则超出作用范围会编译报错。

package main

import "fmt"

func main(){
	for i := 1;i < 5;i++{
		if i == 3 {
			break
		}
		fmt.Println("i=",i)
	}
}

输出结果:
i= 1
i= 2

三,continue
continue 仅限于for 循环使用。
作用: 跳过本次循环。

案例代码:

package main

import "fmt"

func main(){
   for i:=1;i < 5;i++{
      if i == 3 {
         continue
      }
      fmt.Println("i=",i)
   }
}

输出结果:
i= 1
i= 2
i= 4

转载请注明:21运维 » Go语言流程控制-break、continue和goto