在 Go 语言中,for 循环是唯一的一种循环结构。for 循环的语法和使用方法非常灵活,能够满足不同的循环需求。下面详细介绍 Go 语言中的 for 循环的语法和使用方法,并提供一些实例。
for
for 循环的基本语法如下:
for 初始化语句; 条件表达式; 后置语句 { // 循环体 }
true
package main import "fmt" func main() { for i := 0; i < 5; i++ { fmt.Println(i) } }
可以省略初始化语句和后置语句,只保留条件表达式:
package main import "fmt" func main() { i := 0 for i < 5 { fmt.Println(i) i++ } }
省略所有的部分,形成一个无限循环:
package main import "fmt" func main() { i := 0 for { if i >= 5 { break } fmt.Println(i) i++ } }
使用 range 关键字可以遍历数组、切片、映射、字符串等:
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) } }
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) } }
遍历字符串时,可以获取到每个字符的 Unicode 码点和位置:
package main import "fmt" func main() { str := "Hello, 世界" for index, char := range str { fmt.Printf("Index: %d, Character: %c\n", index, char) } }
break
continue
break 语句可以用来退出循环:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i == 5 { break } fmt.Println(i) } }
continue 语句可以跳过本次循环的剩余部分,直接进入下一次循环:
package main import "fmt" func main() { for i := 0; i < 10; i++ { if i%2 == 0 { continue } fmt.Println(i) } }
可以在循环体内嵌套另一个 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) } } }
使用标签可以控制多层嵌套循环中的 break 和 continue:
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