break和continue

go语言中的break和continue也和其语言一样,一般用在跳出循环,break跳出整个循环,continue跳出本次循环继续进行下次循环。

func main() {
    rand.Seed(time.Now().UnixNano())
    for {
        fmt.Println(rand.Intn(10) + 100)
        break
    }
}



 

 多层for循环中的 break和continue

如果多个for循环嵌套的话,那么break和continue跳出哪一个?是整个for还是当前for?下面代码运行的结果可以看出啦,break和continue只跳出当前的for循环

func main() {
    rand.Seed(time.Now().UnixNano())
    for {
        fmt.Println("我是外面的for")
        for {
            fmt.Println("我是里面的for")
            break
        }

    }
}
go to语句

goto语句用于跳到某一个标签。

func main() {

    for {
        fmt.Println("我是外面的for")
        for {
            fmt.Println("我是里面的for")
            goto breakhere
        }

    }
breakhere:
    fmt.Println("breakarea")
    os.Exit(0)
}
 for 循环标签

 在for循环中的标签的作用,用于多层for循环嵌套的时候,break和continue跳转问题,默认情况下break和continue只跳出当前的for

 

func main() {
out:
    for {
        fmt.Println("i am out")
        for {
            break out
        }
    }
}