Golang循环语句for及控制方式详解

Go语言中仅用for实现所有循环,支持初始化、条件、迭代三段式结构,如for i := 0; i

golang循环语句for及控制方式详解

Go语言中的循环结构只有一种关键字:for,但它非常灵活,可以实现多种循环模式和控制方式。不同于其他语言中的

while

do-while

,Go通过

for

的不同写法来覆盖所有循环场景。

基本for循环

最常见的形式是包含初始化、条件判断和迭代操作的三段式结构:

for i := 0; i < 5; i++ {    fmt.Println(i)}

这段代码会输出 0 到 4。其执行顺序为:

先执行初始化语句

i := 0

(只执行一次) 判断条件

i < 5

是否成立 若成立,执行循环体 执行迭代语句

i++

重复条件判断,直到不成立为止

类while循环:省略初始化和迭代

可以只保留条件表达式,实现类似其他语言中

while

的效果:

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

n := 1for n < 100 {    n *= 2}fmt.Println(n) // 输出 128

这种写法相当于

while (n < 100)

,只要条件为真就持续执行。

无限循环

省略所有条件,形成无限循环:

for {    fmt.Println("持续运行")    // 通常配合 break 使用    if someCondition {        break    }}

这种写法常用于事件监听、后台服务等需要持续运行的场景,靠

break

显式退出。

for range 循环

用于遍历数组、切片、字符串、map 和 channel。语法简洁,自动返回索引和值:

arr := []string{"a", "b", "c"}for index, value := range arr {    fmt.Printf("索引: %d, 值: %sn", index, value)}

如果只需要值,可以忽略索引:

for _, value := range arr {    fmt.Println(value)}

遍历 map 时,顺序是不固定的,因为 Go 的 map 遍历是随机的。

循环控制语句

Go 支持

break

continue

goto

来控制循环流程。

break:立即终止当前循环

for i := 0; i < 10; i++ {    if i == 5 {        break    }    fmt.Println(i) // 输出 0 到 4}

continue:跳过当前迭代,进入下一次循环

for i := 0; i < 5; i++ {    if i%2 == 0 {        continue    }    fmt.Println(i) // 输出 1 和 3}

goto:跳转到指定标签位置(慎用,影响可读性)

i := 0for i < 5 {    if i == 3 {        goto skip    }    fmt.Println(i)    i++}skip:fmt.Println("跳转完成")

注意:goto 只能在函数内部跳转,不能跨函数或跳入循环内部。

嵌套循环与标签

在多层循环中,

break

continue

默认作用于最内层。可通过标签控制外层循环:

outer:for i := 0; i < 3; i++ {    for j := 0; j < 3; j++ {        if i == 1 && j == 1 {            break outer        }        fmt.Printf("i=%d, j=%dn", i, j)    }}

i=1, j=1

时,

break outer

会直接退出外层循环,后续不再执行。

基本上就这些。Go 的 for 循环设计简洁但功能完整,掌握这些用法足以应对各种场景。关键是理解其灵活性和控制机制,避免滥用 goto,保持代码清晰。

以上就是Golang循环语句for及控制方式详解的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1403050.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2025年12月15日 19:14:59
下一篇 2025年12月15日 19:15:13

相关推荐

发表回复

登录后才能评论
关注微信