美文网首页
Golang学习笔记-1.9 for循环

Golang学习笔记-1.9 for循环

作者: xunk1900 | 来源:发表于2018-07-17 23:45 被阅读0次

    本文系第九篇Golang语言学习教程
    Go语言只有For这一种循环语句。For循环有三种形式,只有其中一种使用分号。

    • 与其他语言for类似
    for init; condition; post { 
    }
    
    • 和while类似
    for condition { 
    }
    
    • 和其他语言for {;;}类似
    for { 
    }
    

    init:一般为赋值表达式,为循环变量赋初值
    condition:循环控制条件,关系表达式或逻辑表达式
    post:一般为赋值表达式,给循环变量增量或减量

    下面通过几个例子来理解循环
    例1

    package main
    
    import "fmt"
    
    func main(){
        for i :=1; i <=10; i++{ //i=1,且i<=10,每次循环+1
            fmt.Printf(" %d", i)
        }
    }
    

    以上例子中,分别以分号;定义了init,condition,post

    初始化语句只执行一次,循环初始化后,将检查循环条件,如果结果为true,则执行{ }中的循环体;post语句在每次成功循环迭代后执行,在执行完post后,条件将被再次检查,若结果为true,则循环继续执行,否则循环结束。

    例2

    package main
    
    import "fmt"
    
    func main(){
        j := 0
        for ; j <= 10; {  //两个 ; 可以省略
            fmt.Printf(" %d", j)
            j += 2
        }
    }
    
    

    以上例子中,初始化语句和post语句都被省略,j在for循环外就被初始化为0,只要条件j <= 10为true,循环就会执行,并且在循环中 j 以2的增量自增。
    以上程序打印了0到10所有的偶数:0 2 4 6 8 10

    例3

    package main
    
    import "fmt"
    
    func main(){
        for {
            fmt.Println("Hello,world!")
        }
    }
    

    以上程序是一个无限循环程序,会不停的输出Hello,world!

    break

    break用于在完成正常执行之前突然中止for循环,之后程序会开始在for循环下一行代码执行。
    例4

    package main
    
    import "fmt"
    
    func main(){
        for a := 0; a <= 10; a++{
            if a >5 {
                break
            }
            fmt.Printf(" %d", a)
        }
        fmt.Println("\nthis go is stop")
    }
    

    以上程序在循环开始后首先判断a > 5条件是否成立,若不成立,继续打印a的值,继续循环;若成立,则break终止循环,继续执行下面的打印 this go is stop
    循环打印结果为:

    0 1 2 3 4 5

    this go is stop

    continue

    continue用来跳出当前循环,在continue语句后所有的循环都不会再本次循环中执行,循环体会在下一次循环中继续执行。
    例5

    package main
    
    import "fmt"
    
    func main(){
        for b := 0; b <= 10; b++{
            if b%2 == 0 {
                continue
            }
            fmt.Printf(" %d", b)
        }
    }
    

    以上程序在循环开始后首先判断b除以2的余数是不是0(b%2 == 0),若结果为成立,则跳出本次循环,后面的语句不会被执行;若不成立,则继续执行后面的语句。
    循环打印的结果为:
    1 3 5 7 9

    例6
    for循环中可以声明和操作多个变量:

    package main
    
    import "fmt"
    
    func main(){
        for yes, no :=10,1; yes <=20 && no <=10 ; yes, no = yes+1, no+1  {
            fmt.Printf("\n%d * %d = %d", yes,no,yes * no )
        }
    }
    

    以上程序声明yes和no的值,&&用来确保yes的值小于20并且no的值小于10,每次循环完成后yes和no自增1
    循环打印的结果为:

    10 * 1 = 10
    11 * 2 = 22
    12 * 3 = 36
    13 * 4 = 52
    14 * 5 = 70
    15 * 6 = 90
    16 * 7 = 112
    17 * 8 = 136
    18 * 9 = 162
    19 * 10 = 190

    以上为学习Golang 循环篇

    相关文章

      网友评论

          本文标题:Golang学习笔记-1.9 for循环

          本文链接:https://www.haomeiwen.com/subject/aprppftx.html