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
            }
        }
    }
  • 相关阅读:
    Codeforces Round #649 (Div. 2) D. Ehab's Last Corollary
    Educational Codeforces Round 89 (Rated for Div. 2) E. Two Arrays
    Educational Codeforces Round 89 (Rated for Div. 2) D. Two Divisors
    Codeforces Round #647 (Div. 2) E. Johnny and Grandmaster
    Codeforces Round #647 (Div. 2) F. Johnny and Megan's Necklace
    Codeforces Round #648 (Div. 2) G. Secure Password
    Codeforces Round #646 (Div. 2) F. Rotating Substrings
    C++STL常见用法
    各类学习慕课(不定期更新
    高阶等差数列
  • 原文地址:https://www.cnblogs.com/Nolover/p/12550553.html
Copyright © 2011-2022 走看看