基本for循环包含初始化、条件和迭代,如for i := 0; i < 5; i++ {},用于常规循环操作。

在Golang中,for循环是唯一的循环结构,但它非常灵活,可以实现多种迭代方式。Go没有while或do-while语法,所有循环都通过for关键字完成。
这是最常见的形式,包含初始化、条件判断和迭代操作:
for i := 0; i < 5; i++ {
fmt.Println(i)
}
这段代码会输出0到4。和C语言类似,但Go要求括号()不必要,花括号{}必须存在。
省略初始化和递增部分,只保留条件:
立即学习“go语言免费学习笔记(深入)”;
i := 0
for i < 5 {
fmt.Println(i)
i++
}
这种写法相当于其他语言中的while循环。
省略所有条件,创建一个持续运行的循环:
for {
fmt.Println("无限执行")
// 别忘了加break或return,否则会一直运行
break
}
</font></p>常用于事件监听、后台任务等场景。</p><H3>4. 遍历数组、切片、字符串、映射和通道(range)</H3><p>使用<code>range</code>关键字可以方便地迭代集合类型:</p><ul><li><strong>遍历切片或数组:</strong></li><font face="Courier New"><pre class="brush:php;toolbar:false;">
nums := []int{1, 2, 3}
for index, value := range nums {
fmt.Printf("索引: %d, 值: %d\n", index, value)
}
str := "Go"
for i, ch := range str {
fmt.Printf("位置%d的字符是%c\n", i, ch)
}
m := map[string]int{"a": 1, "b": 2}
for key, value := range m {
fmt.Printf("键: %s, 值: %d\n", key, value)
}
ch := make(chan int, 2)
ch <- 1
ch <- 2
close(ch)
for v := range ch {
fmt.Println(v)
}
注意:如果不需要某个返回值,可以用下划线_忽略。例如只想要值:for _, value := range slice。
基本上就这些。Go的for循环设计简洁,用一个关键字覆盖了各种迭代需求。
以上就是Golang如何实现for循环迭代的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号