4.4 Go goto continue break

4.4 Go goto continue break

Go语言的goto语句可以无条件的跳转到指定的代码行执行。

goto语句一般与条件语句结合,实现条件转义,跳出循环体等。

Go程序不推荐使用goto,以免造成程序混乱,难以阅读。

实例:

package main

import "fmt"

func main() {
    var num int = 100

    fmt.Println("num值100")
    if num > 90 {
        goto label
        //此处代码已经不走,直接goto了
        fmt.Println("呵呵")
    }
    fmt.Println("我是占位符")
    fmt.Println("我是占位符")
    fmt.Println("我是占位符")
    fmt.Println("我是占位符")
    fmt.Println("我是占位符")
    //触发了goto,进入本次标签
label:
    fmt.Println("由于触发了goto,进入到我这里了")

    fmt.Println("我也是占位符")
    fmt.Println("我也是占位符")
    fmt.Println("我也是占位符")
}

1.1. break

用于中断当前循环跳出switch中的case语句

package main

import "fmt"

func main() {
    var num int = 10

    for num < 50 {
        fmt.Printf("a的值是:%v\n", num)
        num++
        if num > 30 {
            break //跳出for循环
        }
    }
}

break label

当处于多层嵌套for循环,直接跳出所有循环嵌套,可以用break label特性

package main

import (
    "fmt"
)

func main() {
    fmt.Println("主程序开始执行")
Exit:
    for i := 0; i < 9; i++ {
        for j := 0; j < 9; j++ {
            if i+j > 15 {
                fmt.Println("程序结束")
                break Exit
            }
        }
    }
    fmt.Println("已跳出循环体")
}

1.2. continue语句

continue语句跳出当前循环剩余代码,继续进行下一次循环。

package main

import "fmt"

func main() {
    /* 定义局部变量 */
    var a int = 10

    /* for 循环 */
    for a < 20 {
        if a == 15 {
            /* 当a等于15时,跳出循环,让a++,等于16,跳过本次循环 */
            a++
            continue
        }
        fmt.Printf("a 的值为 : %d\n", a)
        a++
    }
}

1.3. return语句

return用在方法或函数中,表示终止所在的方法或函数(method与function)。

return在main函数中,表示终止main函数,终止程序。

package main

import "fmt"

func main() {
    for i := 0; i <= 10; i++ {
        if i == 5 {
            return //直接退出main函数了
        }
        fmt.Printf("本次循环次数:%d\n", i)
    }
    //永远走不带这里了,第五次for循环时候,直接return了
    fmt.Println("循环结束,走到了我")
}

猜你喜欢

转载自www.cnblogs.com/open-yang/p/11256813.html
今日推荐