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 := 1for n < 100 { n *= 2}fmt.Println(n) // 输出128这种写法等价于其他语言中的while循环,只要条件为真就持续执行。
无限循环
省略所有条件,形成一个永远运行的循环:
for { fmt.Println("不停执行") // 需要使用break退出 break}常用于事件监听、后台任务等需要持续运行的场景,配合break或return来退出。
遍历集合: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的副本机制。
以上就是Golang循环语句for语法与多种写法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1413501.html

微信扫一扫
支付宝扫一扫