在Go语言中,for
循环是唯一的一种循环结构。它非常灵活,可以用来实现多种不同的循环逻辑。下面是一些常见的for
循环用法示例:
基本的for
循环
这是最传统的用法,类似于C或Java中的for
循环。
package main
import "fmt"
func main() {
for i := 0; i < 5; i++ {
fmt.Println("i =", i)
}
}
在这个例子中,循环从i=0
开始,当i<5
时继续执行循环体,并且每次循环后i
增加1。
无限循环
如果你省略了所有的条件,你可以创建一个无限循环。通常你需要在循环体内使用break
语句来退出循环。
package main
import "fmt"
func main() {
for {
fmt.Println("这是一个无限循环")
// 在实际应用中,这里应该有某种退出条件
break
}
}
for
...range
循环
for
...range
循环可以遍历数组、切片、字符串、映射(map)等集合类型。
遍历数组/切片
package main
import "fmt"
func main() {
numbers := []int{
1, 2, 3, 4, 5}
for index, value := range numbers {
fmt.Printf("Index: %d Value: %d\n", index, value)
}
}
遍历字符串
package main
import "fmt"
func main() {
str := "Hello"
for index, char := range str {
fmt.Printf("Index: %d Char: %c\n", index, char)
}
}
遍历映射
package main
import "fmt"
func main() {
m := map[string]int{
"apple": 5, "banana": 3}
for key, value := range m {
fmt.Printf("Key: %s Value: %d\n", key, value)
}
}
使用continue
和break
continue
用于跳过当前迭代的剩余部分并开始下一次迭代。break
用于完全跳出循环。
package main
import "fmt"
func main() {
for i := 0; i < 10; i++ {
if i%2 == 0 {
continue // 跳过偶数
}
if i > 7 {
break // 当i大于7时结束循环
}
fmt.Println(i)
}
}
这些是Go语言中for
循环的基本用法。根据你的具体需求,你可以选择合适的循环结构来完成任务。