💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
[TOC] ## break语句 break语句可以结束当前 for、switch 和 select 的语句。 ```go for i := 0; i <= 10; i++ { if i == 5 { // 当i=5的时候,i还有6-10的数字。 // 这里使用break跳出for语句,后面循环且下面的语句块都不执行 break } fmt.Println(i) } // 运行结果: // 0 // 1 // 2 // 3 // 4 ``` ## continue语句 continue语句可以结束当前循环,开始下一次的循环迭代过程,仅限在for循环内使用。 ```go for i := 0; i < 5; i++ { if i == 2 { // 当i=2的时候,i还有3和4的数字。 // 这里使用continue跳出本次循环,就是不执行以下代码。进行i等于3和4的循环 continue } fmt.Println(i) } // 运行结果: // 0 // 1 // 3 // 4 ``` ## goto goto语句通过标签进行代码间的无条件跳转。 goto语句可以在快速跳出循环、避免重复退出上有一定的帮助。Go语言中使用goto语句能简化一些代码的实现过程。 例如双层嵌套的for循环要退出时,未使用goto ```go var flag bool for i := 0; i < 3; i++ { for j := 0; j < 5; j++ { if j == 2 { // 设置退出标签 flag = true break } fmt.Printf("%v-%v\n", i, j) } // 外层for循环判断 if flag { break } } // 运行结果: // 0-0 // 0-1 ``` 使用goto,调出双循环 ```go func main() { for i := 0; i < 3; i++ { for j := 0; j < 5; j++ { if j == 2 { goto labeltag } fmt.Printf("%v-%v\n", i, j) } } labeltag: fmt.Println("end") } // 运行结果: // 0-0 // 0-1 // end ```