Skip to content

第 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()
    }
}

© 2026 编程马·菜鸟教程 版权所有