zoukankan      html  css  js  c++  java
  • golang 循环语句

    在go语言中 循环语句只支持for,不像其他语言一样,有支持for和while循环。

    for 循环表达式。

    for 赋值操作;逻辑运算;自加{

    }

    如下打印10次1-10的随机数

    func main() {
        rand.Seed(time.Now().UnixNano())
        for i := 0; i < 10; i++ {
            fmt.Println(rand.Intn(10))
        }
    
    }

    死循环

    go语言中死循环非常简单只要条件为true则循环一直下去,

    func main() {
        rand.Seed(time.Now().UnixNano())
        for true {
            fmt.Println(rand.Intn(10) + 100)
        }
    }
    可以简写成下面这种方式
    func main() {
        rand.Seed(time.Now().UnixNano())
        for {
            fmt.Println(rand.Intn(10) + 100)
        }
    }
     

     break和continue

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

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



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

        }
    }
     

     多层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
            }
        }
    }
  • 相关阅读:
    UVALive 7141 BombX
    CodeForces 722D Generating Sets
    CodeForces 722C Destroying Array
    CodeForces 721D Maxim and Array
    CodeForces 721C Journey
    CodeForces 415D Mashmokh and ACM
    CodeForces 718C Sasha and Array
    CodeForces 635C XOR Equation
    CodeForces 631D Messenger
    田忌赛马问题
  • 原文地址:https://www.cnblogs.com/Nolover/p/12550553.html
Copyright © 2011-2022 走看看