Go语言 for 循环语句

    /    2018-11-28

for循环是一个循环控制结构,可以执行指定次数的循环。

三种循环方式

第一种,常见的 for 循环,支持初始化语句

for init; condition; post { 
}

init: 一般为赋值表达式,给控制变量赋初值;

condition: 关系表达式或逻辑表达式,循环控制条件;

post: 一般为赋值表达式,给控制变量增量或减量。

for语句执行过程如下:

1) 先对表达式 init 赋初值;

2)判别赋值表达式 init 是否满足给定 condition 条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行 post,进入第二次循环,再判别 condition;否则判断 condition 的值为假,不满足条件,就终止for循环,执行循环体外语句。

package main

import (
    "fmt"
)

func main() {
    for i := 1; i < 10; i++ {
        fmt.Println(i)
    }
}

第二种,关系表达式或逻辑表达式控制循环

for condition { }

实例如下:

package main

import (
    "fmt"
)

func main() {
    i := 0
    for i < 5 {
        i++
    }
    for i == 5 {
        fmt.Println(i)
        break
    }
}

第三种,无限循环

for {
}

for true {
}

实例如下:

package main

import (
    "fmt"
    "time"
)

func main() {
    for {
        fmt.Println("无限循环 for {}")
        time.Sleep(time.Second)
    }
}

循环嵌套

在 for 循环中可以嵌套一个或多个 for 循环,实例如下:

1)使用循环嵌套来输出九九乘法表:

package main

import "fmt"

func main() {

    for i := 1; i < 10; i++ {
        for j := 1; j <= i; j++ {
            fmt.Printf("%d * %d = %2d\t", i, j, i*j)
        }
        fmt.Println()
    }
}

2)使用循环嵌套来输出 2 到 100 间的素数:

package main

import "fmt"

func main() {
    var i, j int

    for i = 2; i < 100; i++ {
        for j = 2; j  (i / j) {
            fmt.Printf("%2d  是素数\n", i)
        }
    }
}

(12)

分享至