在 Go 语言中,for
循环是唯一的一种循环结构。for
循环的语法和使用方法非常灵活,能够满足不同的循环需求。下面详细介绍 Go 语言中的 for
循环的语法和使用方法,并提供一些实例。
for
循环的基本语法如下:
for 初始化语句; 条件表达式; 后置语句 {
// 循环体
}
true
,则继续执行循环体,否则结束循环。for
循环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
关键字可以遍历数组、切片、映射、字符串等:
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
break
语句可以用来退出循环:
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i == 5 {
break
}
fmt.Println(i)
}
}
continue
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