Go语言循环控制之break/continue/goto/return
一、break
break语句用于终止某个语句块的执行,用于终端当前for循环或跳出switch语句。
package main import "fmt" func main() { // 打印小于等于5的数 for i := 0; i <= 10; i++ { if i > 5 { break } else { fmt.Println("i=",i) } } }
break嵌套语句中可以使用标签来指明终止的是那一层的语句块。
package main import "fmt" func main() { label1: for i := 0; i < 10; i++ { if i > 5 { break label1 } fmt.Println("i=", i) } } /* 执行结果 i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 */
二、continue
continue语句用于结束本次循环,继续执行下一次循环;如果出现再多层嵌套循环语句体中,可以通过标签的方式知名要跳过的是哪一层的循环。这与break标签的使用是样的。
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 && i < 9 { continue } fmt.Println("i=", i) } } /* 输出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 i= 9 */
当然也可以跳过指定的标签,用法与break一样的。
三、goto
Go语言中的goto语句可以无条件的转移到程序中指定的行;通常与条件语句配合使用,可以用于实现条件转移、跳出循环体等功能;不过一般不主张使用goto语句,以免造成程序流程混乱的局面。
基本使用语法:
goto label ... ... label: statement
实例:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 { goto label1 } fmt.Println("i=", i) } label1: fmt.Println("goto1") fmt.Println("goto2") } /* 输出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 goto1 goto2 */
四、return
return使用再函数或者方法中,表示跳出所在的方法或者函数。
- return 如果在普通函数中,表示终止该函数后面的代码执行
- return 如果在main函数中,表示终止main函数,即整个应用程序
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i > 5 { return } fmt.Println("i=", i) } fmt.Println("retunDemo...") } /* 输出: i= 0 i= 1 i= 2 i= 3 i= 4 i= 5 */
作者:iveBoy
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。