/ 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)