Appearance
第 7 章:流程控制 - 循环
7.1 Go 唯一的循环:for 循环
Go 语言只有一种循环结构:for 循环。
7.2 基础 for 循环、条件循环、无限循环
基础 for 循环
go
for i := 0; i < 10; i++ {
fmt.Println(i)
}条件循环(类似 while)
go
var i int = 0
for i < 10 {
fmt.Println(i)
i++
}无限循环
go
for {
fmt.Println("无限循环")
// 需要使用 break 跳出循环
}7.3 for range 遍历
遍历数组或切片
go
numbers := []int{1, 2, 3, 4, 5}
for index, value := range numbers {
fmt.Printf("索引: %d, 值: %d\n", index, value)
}遍历字符串
go
str := "Hello"
for index, char := range str {
fmt.Printf("索引: %d, 字符: %c\n", index, char)
}遍历 map
go
m := map[string]int{"a": 1, "b": 2, "c": 3}
for key, value := range m {
fmt.Printf("键: %s, 值: %d\n", key, value)
}7.4 break 与 continue 关键字
break 语句
go
for i := 0; i < 10; i++ {
if i == 5 {
break // 跳出循环
}
fmt.Println(i)
}continue 语句
go
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 跳过本次循环
}
fmt.Println(i)
}7.5 嵌套循环与实战案例
嵌套循环
go
for i := 1; i <= 5; i++ {
for j := 1; j <= i; j++ {
fmt.Print("* ")
}
fmt.Println()
}实战案例:九九乘法表
go
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d×%d=%d\t", j, i, i*j)
}
fmt.Println()
}
}