Go 语言中 For 循环:语法、使用方法和实例教程


在 Go 语言中,for 循环是唯一的一种循环结构。for 循环的语法和使用方法非常灵活,能够满足不同的循环需求。下面详细介绍 Go 语言中的 for 循环的语法和使用方法,并提供一些实例。

1. 基本语法

for 循环的基本语法如下:

for 初始化语句; 条件表达式; 后置语句 {
    // 循环体
}
  • 初始化语句:在循环开始前执行一次。
  • 条件表达式:在每次迭代前进行求值,如果为 true,则继续执行循环体,否则结束循环。
  • 后置语句:在每次循环体执行后执行。

2. 示例

2.1 经典的 for 循环

package main

import "fmt"

func main() {
    for i := 0; i < 5; i++ {
        fmt.Println(i)
    }
}

2.2 省略初始化语句和后置语句

可以省略初始化语句和后置语句,只保留条件表达式:

package main

import "fmt"

func main() {
    i := 0
    for i < 5 {
        fmt.Println(i)
        i++
    }
}

2.3 无限循环

省略所有的部分,形成一个无限循环:

package main

import "fmt"

func main() {
    i := 0
    for {
        if i >= 5 {
            break
        }
        fmt.Println(i)
        i++
    }
}

2.4 遍历数组或切片

使用 range 关键字可以遍历数组、切片、映射、字符串等:

package main

import "fmt"

func main() {
    nums := []int{1, 2, 3, 4, 5}
    for index, value := range nums {
        fmt.Printf("Index: %d, Value: %d\n", index, value)
    }
}

2.5 遍历映射

package main

import "fmt"

func main() {
    m := map[string]int{"a": 1, "b": 2, "c": 3}
    for key, value := range m {
        fmt.Printf("Key: %s, Value: %d\n", key, value)
    }
}

2.6 遍历字符串

遍历字符串时,可以获取到每个字符的 Unicode 码点和位置:

package main

import "fmt"

func main() {
    str := "Hello, 世界"
    for index, char := range str {
        fmt.Printf("Index: %d, Character: %c\n", index, char)
    }
}

3. breakcontinue

3.1 break

break 语句可以用来退出循环:

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        if i == 5 {
            break
        }
        fmt.Println(i)
    }
}

3.2 continue

continue 语句可以跳过本次循环的剩余部分,直接进入下一次循环:

package main

import "fmt"

func main() {
    for i := 0; i < 10; i++ {
        if i%2 == 0 {
            continue
        }
        fmt.Println(i)
    }
}

4. 嵌套循环

可以在循环体内嵌套另一个 for 循环:

package main

import "fmt"

func main() {
    for i := 1; i <= 3; i++ {
        for j := 1; j <= 3; j++ {
            fmt.Printf("i: %d, j: %d\n", i, j)
        }
    }
}

5. 标签和嵌套循环

使用标签可以控制多层嵌套循环中的 breakcontinue

package main

import "fmt"

func main() {
    outerLoop:
    for i := 0; i < 3; i++ {
        for j := 0; j < 3; j++ {
            if i == 1 && j == 1 {
                break outerLoop
            }
            fmt.Printf("i: %d, j: %d\n", i, j)
        }
    }
}

总结

Go 语言中的 for 循环功能强大,灵活性高,通过不同的使用方式可以解决各种循环需求。无论是基本的迭代,还是复杂的数据结构遍历,for 循环都可以轻松胜任。通过掌握这些技巧,可以编写出更加高效和简洁的代码。


原文链接:codingdict.net