首页 > 后端开发 > Golang > 正文

Golang如何实现for循环迭代

P粉602998670
发布: 2025-10-28 19:23:01
原创
365人浏览过
基本for循环包含初始化、条件和迭代,如for i := 0; i < 5; i++ {},用于常规循环操作。

golang如何实现for循环迭代

在Golang中,for循环是唯一的循环结构,但它非常灵活,可以实现多种迭代方式。Go没有while或do-while语法,所有循环都通过for关键字完成。

1. 基本的for循环(类似C语言)

这是最常见的形式,包含初始化、条件判断和迭代操作:

for i := 0; i < 5; i++ {
    fmt.Println(i)
}
登录后复制

这段代码会输出0到4。和C语言类似,但Go要求括号()不必要,花括号{}必须存在。

2. 类似while的循环

省略初始化和递增部分,只保留条件:

立即学习go语言免费学习笔记(深入)”;

i := 0
for i < 5 {
    fmt.Println(i)
    i++
}
登录后复制

这种写法相当于其他语言中的while循环。

代码小浣熊
代码小浣熊

代码小浣熊是基于商汤大语言模型的软件智能研发助手,覆盖软件需求分析、架构设计、代码编写、软件测试等环节

代码小浣熊51
查看详情 代码小浣熊

3. 无限循环

省略所有条件,创建一个持续运行的循环:

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)
    }
      
    登录后复制
  • 遍历map:
  • m := map[string]int{"a": 1, "b": 2}
    for key, value := range m {
        fmt.Printf("键: %s, 值: %d\n", key, value)
    }
      
    登录后复制
  • 遍历channel:
  • 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中文网其它相关文章!

    最佳 Windows 性能的顶级免费优化软件
    最佳 Windows 性能的顶级免费优化软件

    每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

    下载
    来源:php中文网
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    开源免费商场系统广告
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板
    关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
    php中文网:公益在线php培训,帮助PHP学习者快速成长!
    关注服务号 技术交流群
    PHP中文网订阅号
    每天精选资源文章推送
    PHP中文网APP
    随时随地碎片化学习
    PHP中文网抖音号
    发现有趣的

    Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号