Go语言中唯一的循环结构是for,它通过灵活的语法替代while和do-while。基本形式包含初始化、条件判断和迭代语句:for i := 0; i
Go语言中没有while或do-while循环,for是唯一的循环控制结构,但它非常灵活,支持多种写法来满足不同场景的需求。掌握这些写法能让你的Go代码更简洁高效。
基本for循环
这是最常见的形式,包含初始化、条件判断和迭代语句:
for i := 0; i < 5; i++ { fmt.Println(i) }这段代码会输出0到4。和C语言类似,三个部分分别用于:
- 初始化变量(如 i := 0)
- 循环条件(如 i
- 每次循环后的操作(如 i++)
类while的条件循环
可以省略初始化和递增部分,只保留条件表达式:
立即学习“go语言免费学习笔记(深入)”;
n := 1 for n < 100 { n *= 2 } fmt.Println(n) // 输出128这种写法等价于其他语言中的while循环,只要条件为真就持续执行。
无限循环
省略所有条件,形成一个永远运行的循环:
for { fmt.Println("不停执行") // 需要使用break退出 break }常用于事件监听、后台任务等需要持续运行的场景,配合break或return来退出。
Golang Uber Dig下载使用 uber-go/dig 在 Golang 中实现依赖注入——基于反射容器,提供 Provide/Invoke、dig.In/dig.Out 参数与结果对象,支持命名依赖等
遍历集合:for range
for配合range关键字可遍历数组、切片、字符串、map和通道:
arr := []string{"a", "b", "c"} for index, value := range arr { fmt.Println(index, value) }如果不需要索引或值,可以用下划线_忽略:
for _, value := range arr { fmt.Println(value) }循环控制:break与continue
break用于立即终止循环,continue跳过当前迭代:
for i := 0; i < 10; i++ { if i == 3 { continue // 跳过3 } if i == 7 { break // 提前结束 } fmt.Println(i) }输出0 1 2 4 5 6。注意break只退出最内层循环,若需跳出多层可用标签。
带标签的循环
在嵌套循环中,可通过标签控制外层循环:
outer: for i := 0; i < 3; i++ { for j := 0; j < 3; j++ { if i == 1 && j == 1 { break outer } fmt.Println(i, j) } }当i=1且j=1时,直接退出外层循环,后续不再执行。
基本上就这些。Go的for虽然形式多样,但核心逻辑一致:控制代码块重复执行。熟练运用各种写法能让代码更清晰。不复杂但容易忽略细节,比如变量作用域和range的副本机制。
相关文章
如何在 Windows 命令行中升级 Go(Golang)版本
如何在Golang中处理MongoDB 7.0副本集游标分批聚合
Golang打包编译时找不到静态资源的问题怎么解决
怎么为Kubernetes中的Golang定时任务容器配置健康检查
Golang怎么使用反射生成批量更新的Case When SQL
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
539
2024.02.23
golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
616
2024.02.23
golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1256
2024.02.23
golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
791
2024.03.05
golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。
1846
2024.05.21
本专题从实际API接口调试场景出发,讲解Postman身份认证的完整配置流程,包括常见认证协议介绍、授权参数设置、访问令牌填写、OAuth 2.0授权及认证失败排查,帮助用户正确完成接口授权与访问验证。
0
2026.11.06
热门下载
相关下载
精品课程
共0课时 | 0人学习
共0课时 | 0人学习
共0课时 | 0人学习
最新文章













