• 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
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Title
    Title
    JS淘宝小广告
    JS淘宝浏览商品
    JS隐藏显示图片
    JS图片轮播
    C#连接数据库的方法
    让$(window).scroll()监听事件只执行一次
    axios发delete请求,后台收不到参数;
    .gitignore规则简介
  • 原文地址:https://www.cnblogs.com/shenjianping/p/15531182.html
Copyright © 2020-2023  润新知