第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

全部開(kāi)發(fā)者教程

Go 入門(mén)教程

Go 語(yǔ)言基礎(chǔ)教程
01 Go語(yǔ)言簡(jiǎn)介 02 Go 在 Windows 上的安裝及配置 03 Go 在 Linux 上的安裝與配置 04 Go 在 MacOS 上的安裝及配置 05 Git 的下載和安裝 06 VSCode 編輯器安裝和配置 07 Go 的變量聲明 08 Go 的變量賦值 09 Go 語(yǔ)言的 := 10 Go 的整型(int) 11 Go 的無(wú)符號(hào)整型(uint) 12 Go 的浮點(diǎn)型(float) 13 Go 的字符類(lèi)型 14 Go 的布爾型(bool) 15 Go 的強(qiáng)制類(lèi)型轉(zhuǎn)換 16 Go 語(yǔ)言的常量 17 Go 語(yǔ)言中代替枚舉的辦法 18 Go 語(yǔ)言中的運(yùn)算符 19 Go 語(yǔ)言的分支語(yǔ)句 20 Go 語(yǔ)言的循環(huán)語(yǔ)句 21 Go 語(yǔ)言的通道 22 Go 語(yǔ)言中的函數(shù) 23 Go 語(yǔ)言函數(shù)中的 defer 24 Go 語(yǔ)言中的閉包 25 Go 語(yǔ)言的指針 26 Go 語(yǔ)言中的數(shù)組 27 Go 語(yǔ)言中的切片 28 Go 語(yǔ)言中的 Map 29 Go 語(yǔ)言中的 range 30 Go 語(yǔ)言拓展以有類(lèi)型 31 Go 語(yǔ)言中的結(jié)構(gòu)體和"面向?qū)ο?quot; 32 Go 語(yǔ)言中的接口 33 Go 語(yǔ)言類(lèi)型的內(nèi)嵌 34 Go 語(yǔ)言中的 nil 35 Go 語(yǔ)言函數(shù)式編程 36 Go 語(yǔ)言中的錯(cuò)誤和異常處理 37 Go 語(yǔ)言的并發(fā) 38 Go 語(yǔ)言中的包 39 Go 語(yǔ)言 go mod 包依賴管理工具 40 Go 語(yǔ)言的文件操作 41 Go 語(yǔ)言中的系統(tǒng)包 42 Go 語(yǔ)言的 strings 系統(tǒng)包的使用 43 Go 語(yǔ)言中的變參 44 Go 語(yǔ)言中的反射 45 Go 語(yǔ)言性能測(cè)試 46 使用 Go 語(yǔ)言搭建簡(jiǎn)易登錄功能 47 使用 gin 包優(yōu)化登錄功能
首頁(yè) 慕課教程 Go 入門(mén)教程 Go 入門(mén)教程 20 Go 語(yǔ)言的循環(huán)語(yǔ)句

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

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

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

1.1 普通用法

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

代碼示例:

package main

import "fmt"

func main() {
    for a := 0; a < 10; a++ {
        fmt.Println(a)
    }
}

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

package main

import "fmt"

func main() {
    a := 0
    for ; a < 10; a++ {//表達(dá)式可以省略,但是;不能省略
        fmt.Println(a)
    }
}

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

圖片描述

1.2 代替 while 的用法

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

代碼示例

package main

import "fmt"

func main() {
    a := 0
    for a < 10 { //和其它語(yǔ)言中的while(a<10)一致
        fmt.Println(a)
        a++
    }
}

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

圖片描述

2. for 語(yǔ)言中的break 和 continue

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

Tipsbreakcontinue 的邏輯和語(yǔ)法類(lèi)似,故本文只介紹break。

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

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

代碼示例

package main

import "fmt"

func main() {
    a := 0
    for { //死循環(huán)的寫(xiě)法就是省略 單次表達(dá)式;條件表達(dá)式;末尾循環(huán)體
        fmt.Println(a)
        a++
        if a >= 10 {
            break //跳出死循環(huán)
        }
    }
}

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

圖片描述

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

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

代碼示例

package main

import "fmt"

func main() {
    a := 0
LOOP:
    for {
        for {
            fmt.Println(a)
            a++
            if a >= 10 {
                break LOOP //跳出循環(huán)至LOOP所在的層級(jí)
            }
        }
    }
}

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

圖片描述

3. 小結(jié)

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

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