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

Golangfor循环的几种写法

P粉602998670
发布: 2025-09-27 16:13:02
原创
891人浏览过
Go语言中for循环是唯一的循环结构,支持多种写法。1. 传统三段式:如for i := 0; i < 5; i++,包含初始化、条件判断和迭代语句,适用于已知循环次数的场景。

golangfor循环的几种写法

Go语言中的for循环是唯一的一种循环结构,但它非常灵活,支持多种写法来适应不同的使用场景。下面介绍几种常见的for循环写法。

1. 类似C语言的传统三段式for循环

这是最常见的一种写法,包含初始化、条件判断和迭代语句。

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

说明:

  • 第一部分i := 0是初始化语句,只执行一次。
  • 第二部分i 是循环条件,每次循环前都会判断。
  • 第三部分i++是循环后的操作,每轮结束后执行。

2. 只有循环条件的for循环(类似while)

Go中没有while关键字,但可以用for实现相同功能。

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

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

这种写法省略了初始化和递增部分,只保留条件表达式,行为等同于while (i 。

3. 无限循环(死循环)

不设置任何条件,循环会一直执行,常用于后台服务或轮询。

for {
    fmt.Println("持续运行...")
    time.Sleep(time.Second)
}
登录后复制

需要用breakreturn来退出循环。

法语写作助手
法语写作助手

法语助手旗下的AI智能写作平台,支持语法、拼写自动纠错,一键改写、润色你的法语作文。

法语写作助手 31
查看详情 法语写作助手

4. 遍历数组、切片、字符串、映射和通道(range遍历)

使用range关键字可以方便地遍历集合类型。

遍历切片:

s := []string{"a", "b", "c"}
for i, v := range s {
    fmt.Println(i, v)
}
登录后复制

遍历map:

m := map[string]int{"a": 1, "b": 2}
for k, v := range m {
    fmt.Println(k, v)
}
登录后复制

注意:

  • 如果只想获取索引(或键),可以写成for i := range slice
  • 如果只想获取值,可以用下划线忽略索引:for _, v := range slice

5. 控制循环的跳转语句

在for循环中可以使用breakcontinue控制流程。

for i := 0; i < 10; i++ {
    if i == 3 {
        continue // 跳过本次循环
    }
    if i == 8 {
        break // 终止整个循环
    }
    fmt.Println(i)
}
登录后复制

输出结果为:0 1 2 4 5 6 7

基本上就这些。Golang的for循环虽然形式多样,但核心逻辑清晰,掌握这几种写法基本能应对大多数场景。关键是根据实际需求选择合适的语法结构。不复杂但容易忽略细节,比如变量作用域和range返回值的处理。

以上就是Golangfor循环的几种写法的详细内容,更多请关注php中文网其它相关文章!

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

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

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

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