1 定义
go语言中只有for循环,没有while和do while循环
2 for语言
// 关键字 初始值 循环条件 表达式
for init; condition; expression {
// 循环体
}
3 for写法
写法1
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
fmt.Printf(" %d", i)
}
fmt.Println()
for i := 10; i > 0; i-- {
fmt.Printf(" %d", i)
}
}
变量i只是在循环体内有效
写法2 变量i在循环体外定义
package main
import "fmt"
func main() {
i := 0
for ; i < 10; i++ {
fmt.Printf(" %d", i)
}
fmt.Println()
j := 10
for ; j > 0; j-- {
fmt.Printf(" %d", j)
}
}
写法3 变量i的递增语句在循环体内
package main
import "fmt"
func main() {
i := 0
for i < 10 {
fmt.Printf(" %d", i)
i++
}
fmt.Println()
j := 10
for j > 0 {
fmt.Printf(" %d", j)
j--
}
}
4 continue break
4.1 continue 跳过当前循环
func main() {
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue
}
fmt.Printf(" %d", i) // 1 3 5 7 9
}
}
4.2 break 调试循环体
func main() {
for i := 0; i < 10; i++ {
if i > 5 {
break
}
fmt.Printf(" %d", i) // 0 1 2 3 4 5
}
}
5 循环多个变量
func main() {
for i, j := 0, 10; i < 10 && j > 0; i, j = i+1, j-1 {
fmt.Printf("i=%d j=%d", i, j)
fmt.Println()
}
/*
i=0 j=10
i=1 j=9
i=2 j=8
i=3 j=7
i=4 j=6
i=5 j=5
i=6 j=4
i=7 j=3
i=8 j=2
i=9 j=1
*/
}
6 死循环
for {
}