Go 语言循环语句
在 Go 语言中,循环语句主要是使用 for
关键字来实现的。Go 语言的 for
循环非常灵活,可以用于多种不同的循环结构。下面介绍几种常见的用法:
常规的 for 循环:
这种用法与 C 语言和 Java 类似,包含初始化语句、条件表达式和后缀语句。
for i := 0; i < 10; i++ {
fmt.Println(i)
}
基于条件的 for 循环:
这类似于其他语言中的
while
循环,只包含一个条件表达式。i := 0
for i < 10 {
fmt.Println(i)
i++
}
无限循环:
如果省略所有条件,
for
循环将一直执行,直到通过break
或return
语句跳出循环。for {
fmt.Println("This will loop forever")
break // 如果不想一直循环下去,可以手动跳出
}
使用
range
的 for 循环:range
关键字可以用于迭代数组、切片、字符串、映射(map)和通道(channel)。
遍历数组或切片:
numbers := []int{1, 2, 3, 4, 5} for index, value := range numbers { fmt.Printf("Index: %d, Value: %d\n", index, value) }
遍历字符串:
str := "hello" for index, runeValue := range str { fmt.Printf("Index: %d, Rune: %c\n", index, runeValue) }
遍历映射(map):
myMap := map[string]int{"a": 1, "b": 2} for key, value := range myMap { fmt.Printf("Key: %s, Value: %d\n", key, value) }
遍历通道(channel):
ch := make(chan int, 2) ch <- 1 ch <- 2 close(ch) for val := range ch { fmt.Println(val) }
这些是 Go 语言中 for
循环的常见用法。由于 Go 中没有 while
、do-while
这样的循环,所以很多循环逻辑都可以通过 for
继承表现出来。