什么是 Go 语言的循环语句?
创始人
2025-05-28 14:51:08

本文首发自「慕课网」,想了解更多IT干货内容,程序员圈内热闻,欢迎关注!

作者|慕课网精英讲师 Codey

在 Go 语言中减少了循环语句的关键字,仅有一个 for 关键字。但是并没有减少其功能,而且它更是兼容了其它语言中的while关键字的用法,甚至更强大。

1. for 循环语句

1.1 普通用法

在 Go 语言中,for 循环之后一样可以跟三个语句,单次表达式;条件表达式;末尾循环体,但是它不需要使用()来包裹这三个表达式,写法上更加的简洁。同时它也和其它语言一样,可以任意省略这三个表达式。

代码示例:

package mainimport "fmt"func main() {for a := 0; a < 10; a++ {fmt.Println(a)}
}
代码块123456789

省略单次表达式代码示例:

package mainimport "fmt"func main() {a := 0for ; a < 10; a++ {//表达式可以省略,但是;不能省略fmt.Println(a)}
}
代码块12345678910

1.2 代替 while 的用法

在其它大部分语言中 for 循环中省略单次表达式末尾循环体其实就和其它语句中的 while 用法一致了。所以在 Go 语言中,直接使用省去单次表达式末尾循环体的 for 循环语句来代替 while 的用法,为了简便代码书写,Go 语言中 for 循环语句在省去单次表达式末尾循环体时,可以不写分号。

代码示例

package mainimport "fmt"func main() {a := 0for a < 10 { //和其它语言中的while(a<10)一致fmt.Println(a)a++}
}
代码块1234567891011

2. for 语言中的break 和 continue

在我们的生产环境中,经常需要用到死循环的场景。所以在 Go 语言中新增了一个 for 关键字死循环的用法,让程序员不用写无聊的 for(;;){}和do{} while(1)。同时可以使用 break 和 continue 来控制循环。

Tipsbreak 和 continue 的逻辑和语法类似,故本文只介绍break。

2.1 break跳出单层死循环

在你想要结束一个死循环的时候,只需要执行一个 break 语句即可。

代码示例

package mainimport "fmt"func main() {a := 0for { //死循环的写法就是省略 单次表达式;条件表达式;末尾循环体fmt.Println(a)a++if a >= 10 {break //跳出死循环}}
}
代码块1234567891011121314

2.2 break跳出多层死循环

在其它语言中,你很难去控制跳出循环的层数,在 Go 语言中提供了一种break LOOP的写法,可以使循环跳出到 LOOP 所在的位置。

代码示例

package mainimport "fmt"func main() {a := 0
LOOP:for {for {fmt.Println(a)a++if a >= 10 {break LOOP //跳出循环至LOOP所在的层级}}}
}
代码块1234567891011121314151617

3. 小结

本文主要介绍了 for 关键字在 Go 语言的循环中的用法:

  • for 之后的语句不需要使用()包裹;
  • break+LOOP的形式可以一次性跳出多层循环;
  • for 可以和其它语言中的 while 一样使用;
  • for{…} 的形式是一个死循环。

欢迎关注「慕课网」,发现更多IT圈优质内容,分享干货知识,帮助你成为更好的程序员!

相关内容

热门资讯

2026 CES 霞光社&qu... 合作伙伴 & 招募持续进行中无论您是希望登上Panel畅谈前沿观点的思想者,还是希望成为我们探展镜头...
快手开盘股价直线下跌,黑灰产攻... 12月23日,港股开盘,快手(1024.HK)股价直线下跌。截至发稿,股价62.9港元,跌5.7%。...
你们四川人的嘴太严了 你究竟还藏了多少秘密?听说斯基在乐山,波旁斯基张口就来:乐山美食经济三驾马车:甜皮鸭、跷脚牛肉和钵钵...
海南板块大幅高开 12月23日早盘,海南板块大幅高开,海峡股份、海汽集团、海南发展、海南瑞泽涨停,康芝药业、海南机场、...
化工品轮番涨价 高端产能有序扩... 近期MDI、碳酸锂等化工品轮番涨价,涨价潮驱动化工板块表现活跃。其中,在能源成本、运输成本与环保压力...