答案是for循环在golang中通过三段式结构实现多种循环模式,如for i := 0; i < 5; i++ {},用于控制初始化、条件判断和迭代操作。
在golang中,for循环是唯一的循环控制结构,但它非常灵活,可以用来实现多种循环模式。Go没有while或do-while语法,所有循环逻辑都通过for
关键字完成。
基本for循环
最常见的用法是三段式for循环:初始化、条件判断、迭代操作。
for i := 0; i < 5; i++ { fmt.Println(i) }
这段代码会输出0到4。和c语言类似,但Go要求整个语句不加括号,且左大括号必须在同一行。
类while循环
省略初始化和迭代部分,只保留条件,就变成了while风格的循环。
立即学习“go语言免费学习笔记(深入)”;
n := 1 for n < 100 { n *= 2 } fmt.Println(n) // 输出128
这相当于其他语言中的while (n
无限循环
如果不写任何条件,默认就是无限循环,常用于事件监听或轮询场景。
for { fmt.Println("一直运行") // 别忘了加break或return,否则不会停止 break }
这种写法替代了while(true)的功能。
遍历数组、切片、字符串、map
使用range关键字可以方便地遍历集合类型。
slice := []string{"a", "b", "c"} for index, value := range slice { fmt.Println(index, value) }
如果不需要索引,可以用下划线忽略:
for _, value := range slice { fmt.Println(value) }
遍历map时,同样使用range:
m := map[string]int{"one": 1, "two": 2} for key, value := range m { fmt.Println(key, value) }
基本上就这些。Go的for循环设计简洁,把多种循环场景统一成一种语法结构,掌握这几种写法就能应对大部分需求了。
评论(已关闭)
评论已关闭