go语言 – for循环变化

让我们编写更多例子,来覆盖for循环的所有变化。

下面的程序打印从0到10的所有偶数。

package main

import (  
    "fmt"
)

func main() {  
    i := 0
    for ;i <= 10; { // 初始化和post部分(递增语句)被省略
        fmt.Printf("%d ", i)
        i += 2
    }
}

我们已经知道for循环的3个组成部分: 初始化、条件和post语句,都是可选的。

在上面的程序中,初始化和post被省略了。ifor循环外初始化为0。只要i <= 10,循环就会执行。ifor循环中增加了2。以上程序输出0 2 4 6 8 10

上面程序的for循环中的分号也可以省略。这种格式可以考虑作为while循环的替代。上面的程序可以重写为,

package main

import (  
    "fmt"
)

func main() {  
    i := 0
    for i <= 10 { //分号省略,只有条件存在
        fmt.Printf("%d ", i)
        i += 2
    }
}

可以在for循环中声明和操作多个变量。让我们编写一个程序,它使用多个变量声明来打印下面的序列。

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  

package main import ( "fmt" ) func main() { for no, i := 10, 1; i <= 10 && no <= 19; i, no = i+1, no+1 { //多个变量初始化,多个增量 fmt.Printf("%d * %d = %d\n", no, i, no*i) } }

上面代码中,noi分别被声明为101。它们在每次迭代结束时增加1。布尔运算符&&用于确保i小于或等于10,并且no也小于或等于19。



浙ICP备17015664号-1 浙公网安备 33011002012336号 联系我们 网站地图  
@2019 qikegu.com 版权所有,禁止转载