2026-10-22 22:54:39
Go语言中的for循环是唯一的循环结构,但支持多种灵活写法,可根据不同场景选择合适的语法。以下是常见的几种写法及示例:
1. 传统三段式for循环(类似C语言)适用场景:已知循环次数或需要明确初始化、条件判断和迭代的场景。语法:
for 初始化语句; 条件表达式; 后置操作 { // 循环体}示例:
for i := 0; i < 5; i++ { fmt.Println(i) // 输出0到4}说明:
适用场景:需要条件判断但无需初始化或后置操作的场景(如动态条件循环)。语法:
for 条件表达式 { // 循环体}示例:
i := 0for i < 5 { fmt.Println(i) // 输出0到4 i++}说明:
适用场景:需要持续运行的场景(如后台服务、事件监听)。语法:
for { // 循环体}示例:
for { fmt.Println("持续运行...") time.Sleep(time.Second) // 模拟延迟}说明:
适用场景:遍历数组、切片、字符串、映射(map)或通道(channel)。语法:
for 索引/键, 值 := range 集合 { // 循环体}示例:
适用场景:在循环内提前终止或跳过当前迭代。
示例:
for i := 0; i < 10; i++ { if i == 3 { continue // 跳过i=3的迭代 } if i == 8 { break // 终止循环 } fmt.Println(i) // 输出0 1 2 4 5 6 7}关键注意事项Go语言的for循环通过灵活组合初始化、条件、后置操作和range关键字,覆盖了从固定次数循环到动态条件循环、从集合遍历到无限循环的所有场景。掌握这些写法后,可高效处理大多数循环需求。