Golang循环语句for语法与多种写法

Go语言中唯一的循环结构是for,它通过灵活的语法替代while和do-while。基本形式包含初始化、条件判断和迭代语句:for i := 0; i

golang循环语句for语法与多种写法

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月16日 07:17:22
下一篇 2025年12月16日 07:17:34

相关推荐

发表回复

登录后才能评论
关注微信