久久国产乱子伦精品免费M,亚洲一区二区三区91,欧美国产在线视频,国产精品视频久久

Go 語言的循環(huán)語句

在 Go 語言中減少了循環(huán)語句的關(guān)鍵字,僅有一個(gè)?for?關(guān)鍵字。但是并沒有減少其功能,而且它更是兼容了其它語言中的while關(guān)鍵字的用法,甚至更強(qiáng)大。

 

1. for 循環(huán)語句

 

1.1 普通用法

在 Go 語言中,for 循環(huán)之后一樣可以跟三個(gè)語句,單次表達(dá)式;條件表達(dá)式;末尾循環(huán)體,但是它不需要使用()來包裹這三個(gè)表達(dá)式,寫法上更加的簡(jiǎn)潔。同時(shí)它也和其它語言一樣,可以任意省略這三個(gè)表達(dá)式。

代碼示例:

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func main() {
  • 6? ? ? ? ? for a := 0; a < 10; a++ {
  • 7? ? ? ? ? ? ? ? ?fmt.Println(a)
  • 8? ? ? ? ? }
  • 9? }

省略單次表達(dá)式代碼示例:

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func main() {
  • 6? ? ? ? ? a := 0
  • 7? ? ? ? ? for ; a < 10; a++ {//表達(dá)式可以省略,但是;不能省略
  • 8? ? ? ? ? ? ? ? ? fmt.Println(a)
  • 9? ? ? ? ? }
  • 10? }

執(zhí)行結(jié)果

圖片描述

 

1.2 代替 while 的用法

在其它大部分語言中?for?循環(huán)中省略單次表達(dá)式末尾循環(huán)體其實(shí)就和其它語句中的?while?用法一致了。所以在 Go 語言中,直接使用省去單次表達(dá)式末尾循環(huán)體的?for?循環(huán)語句來代替?while?的用法,為了簡(jiǎn)便代碼書寫,Go 語言中 for 循環(huán)語句在省去單次表達(dá)式末尾循環(huán)體時(shí),可以不寫分號(hào)。

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func main() {
  • 6? ? ? ? ? a := 0
  • 7? ? ? ? ? for a < 10 { //和其它語言中的while(a<10)一致
  • 8? ? ? ? ? ? ? ? ? ? fmt.Println(a)
  • 9? ? ? ? ? ? ? ? ? ? a++
  • 10? ? ? ? }
  • 11 }

執(zhí)行結(jié)果

圖片描述

 

2. for 語言中的break 和 continue

在我們的生產(chǎn)環(huán)境中,經(jīng)常需要用到死循環(huán)的場(chǎng)景。所以在 Go 語言中新增了一個(gè)?for?關(guān)鍵字死循環(huán)的用法,讓程序員不用寫無聊的?for(;;){}do{} while(1)。同時(shí)可以使用?break?和?continue?來控制循環(huán)。

Tipsbreak?和?continue?的邏輯和語法類似,故本文只介紹break。

 

2.1 break跳出單層死循環(huán)

在你想要結(jié)束一個(gè)死循環(huán)的時(shí)候,只需要執(zhí)行一個(gè)?break?語句即可。

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func main() {
  • 6? ? ? ? ? a := 0
  • 7? ? ? ? ? for { //死循環(huán)的寫法就是省略 單次表達(dá)式;條件表達(dá)式;末尾循環(huán)體
  • 8? ? ? ? ? ? ? ? ? fmt.Println(a)
  • 9? ? ? ? ? ? ? ? ? a++
  • 10? ? ? ? ? ? ? ? if a >= 10 {
  • 11? ? ? ? ? ? ? ? ? ? ? ? break //跳出死循環(huán)
  • 12? ? ? ? ? ? ? ? }
  • 13? ? ? ? ? }
  • 14? }

執(zhí)行結(jié)果

圖片描述

 

2.2 break跳出多層死循環(huán)

在其它語言中,你很難去控制跳出循環(huán)的層數(shù),在 Go 語言中提供了一種break LOOP的寫法,可以使循環(huán)跳出到 LOOP 所在的位置。

代碼示例

代碼塊
  • 1? package main
  • 2
  • 3? import "fmt"
  • 4
  • 5? func main() {
  • 6? ? ? ? ? a := 0
  • 7? LOOP:
  • 8? ? ? ? ? for {
  • 9? ? ? ? ? ? ? ? for {
  • 10? ? ? ? ? ? ? ? ? ? ? fmt.Println(a)
  • 11? ? ? ? ? ? ? ? ? ? ??a++
  • 12? ? ? ? ? ? ? ? ? ? ? if a >= 10 {
  • 13? ? ? ? ? ? ? ? ? ? ? ? ? ? ? break LOOP //跳出循環(huán)至LOOP所在的層級(jí)
  • 14? ? ? ? ? ? ? ? ? ? ? }
  • 15? ? ? ? ? ? ? }
  • 16? ? ? ? }
  • 17? }

執(zhí)行結(jié)果

圖片描述

 

3. 小結(jié)

本文主要介紹了?for?關(guān)鍵字在 Go 語言的循環(huán)中的用法:

  • for?之后的語句不需要使用()包裹;
  • break+LOOP的形式可以一次性跳出多層循環(huán);
  • for?可以和其它語言中的 while 一樣使用;
  • for{…}?的形式是一個(gè)死循環(huán)。

文章來源于網(wǎng)絡(luò),侵刪!

相關(guān)新聞

歷經(jīng)多年發(fā)展,已成為國內(nèi)好評(píng)如潮的Linux云計(jì)算運(yùn)維、SRE、Devops、網(wǎng)絡(luò)安全、云原生、Go、Python開發(fā)專業(yè)人才培訓(xùn)機(jī)構(gòu)!

    1. 主站蜘蛛池模板: 夏邑县| 塘沽区| 广汉市| 黔西| 平舆县| 阿拉尔市| 吕梁市| 海淀区| 屯昌县| 湛江市| 通州市| 囊谦县| 于都县| 冕宁县| 河池市| 汉阴县| 黔南| 吐鲁番市| 芜湖县| 五莲县| 罗山县| 江西省| 汶上县| 湘乡市| 余干县| 靖宇县| 盐山县| 马龙县| 化隆| 平舆县| 瓦房店市| 沙湾县| 烟台市| 札达县| 长乐市| 枝江市| 峨眉山市| 海原县| 宁河县| 克拉玛依市| 金川县|