亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Go語言學(xué)習(xí)之條件語句使用詳解

 更新時(shí)間:2022年04月14日 14:04:35   作者:劍客阿良_ALiang  
這篇文章主要介紹了Go語言中條件語句的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

1、if...else判斷語法

語法的使用和其他語言沒啥區(qū)別。

樣例代碼如下:

// 判斷語句
func panduan(a int) {
    if a > 50 {
        fmt.Println("a > 50")
    } else if a < 30 {
        fmt.Println("a < 30")
    } else {
        fmt.Println("a <= 50 and a >= 30")
    }
}
 
func main() {
    panduan(120)
}

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

a > 50

2、if嵌套語法

樣例代碼如下

//嵌套判斷
func qiantao(b, c uint) {
    if b >= 100 {
        b -= 20
        if c > b {
            fmt.Println("c OK")
        } else {
            fmt.Println("b OK")
        }
    }
}

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

c OK

3、switch語句

兩種寫法,不需要加break。

樣例代碼如下

//switch使用
func test_switch() {
    var a uint = 90
    var result string
    switch a {
    case 90:
        result = "A"
    case 80, 70, 60:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %v\n", result)
    switch {
    case a > 90:
        result = "A"
    case a <= 90 && a >= 80:
        result = "B"
    default:
        result = "C"
    }
    fmt.Printf("result: %v\n", result)
 
}

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

result: A              
result: B  

注意

1、可是在switch后面加變量,后面的case主要做匹配判斷。也可以直接使用switch{},case直接對關(guān)系運(yùn)算結(jié)果做匹配。

2、 case中可以選擇匹配多項(xiàng)。

4、類型switch語句

switch語句可以使用type-switch進(jìn)行類型判斷,感覺很實(shí)用的語法。

樣例代碼如下

//測試類型switch
func test_type_switch() {
    var x interface{}
    x = 1.0
    switch i := x.(type) {
    case nil:
        fmt.Printf("x type = %T\n", i)
    case bool, string:
        fmt.Printf("x type = bool or string\n")
    case int:
        fmt.Printf("x type = int\n")
    case float64:
        fmt.Printf("x type = float64\n")
    default:
        fmt.Printf("未知\n")
    }
}

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

x type = float64     

注意

1、interface{}可以表示任何類型。

2、語法格式變量.(type)

5、fallthrough關(guān)鍵字使用

使用fallthrough關(guān)鍵字會強(qiáng)制執(zhí)行后面的case語句內(nèi)容,不管時(shí)候觸發(fā)該case條件。

樣例代碼如下

// 測試fallthrough
func test_fallthrough() {
    a := 1
    switch {
    case a < 0:
        fmt.Println("1")
        fallthrough
    case a > 0:
        fmt.Println("2")
        fallthrough
    case a < 0:
        fmt.Println("3")
        fallthrough
    case a < 0:
        fmt.Println("4")
    case a > 0:
        fmt.Println("5")
        fallthrough
    case a < 0:
        fmt.Println("6")
        fallthrough
    default:
        fmt.Println("7")
    }
}

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

2                      
3                      
4  

注意

1、如果一旦在往下執(zhí)行case內(nèi)容中不存在fallthrough,則會停止繼續(xù)往下執(zhí)行case內(nèi)容。 

小結(jié)

我看到還有個(gè)select語句,需要和chan關(guān)鍵字進(jìn)行配合使用,沒不了解,后面先研究一下chan關(guān)鍵字。

到此這篇關(guān)于Go語言學(xué)習(xí)之條件語句使用詳解的文章就介紹到這了,更多相關(guān)Go條件語句內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • GO語言實(shí)現(xiàn)文件上傳代碼分享

    GO語言實(shí)現(xiàn)文件上傳代碼分享

    本文給大家分享的是一則使用golang實(shí)現(xiàn)文件上傳的代碼,主要是使用os.Create創(chuàng)建文件,io.Copy來保存文件,思路非常清晰,這里推薦給大家,有需要的小伙伴參考下吧。
    2015-03-03
  • Go1.18新特性工作區(qū)模糊測試及泛型的使用詳解

    Go1.18新特性工作區(qū)模糊測試及泛型的使用詳解

    這篇文章主要為大家介紹了Go?1.18新特性中的工作區(qū)?模糊測試?泛型使用進(jìn)行詳細(xì)講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-07-07
  • Go 基于令牌桶的限流器實(shí)現(xiàn)

    Go 基于令牌桶的限流器實(shí)現(xiàn)

    如果一般流量過大,下游系統(tǒng)反應(yīng)不過來,這個(gè)時(shí)候就需要限流了,本文主要介紹了Go 基于令牌桶的限流器實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    go?time.After優(yōu)化后性能提升34%內(nèi)存減少67%

    這篇文章主要介紹了go語言time.After優(yōu)化后性能提升34%內(nèi)存減少67%實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-02-02
  • Go簡單實(shí)現(xiàn)協(xié)程池的實(shí)現(xiàn)示例

    Go簡單實(shí)現(xiàn)協(xié)程池的實(shí)現(xiàn)示例

    本文主要介紹了Go簡單實(shí)現(xiàn)協(xié)程池的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-06-06
  • 在ubuntu下安裝go開發(fā)環(huán)境的全過程

    在ubuntu下安裝go開發(fā)環(huán)境的全過程

    Go語言是谷歌公司開發(fā)的編程語言,雖然安裝和配置go很簡單,但是很多初學(xué)者在第一次安裝go環(huán)境時(shí)會遇到各種坑,下面這篇文章主要給大家介紹了關(guān)于在ubuntu下安裝go開發(fā)環(huán)境的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-08-08
  • LRU?LFU?TinyLFU緩存算法實(shí)例詳解

    LRU?LFU?TinyLFU緩存算法實(shí)例詳解

    這篇文章主要為大家介紹了LRU?LFU?TinyLFU緩存算法實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-09-09
  • GO的基礎(chǔ)知識掃盲注意事項(xiàng)

    GO的基礎(chǔ)知識掃盲注意事項(xiàng)

    這篇文章主要介紹了GO的基礎(chǔ)知識注意事項(xiàng),本文是GO語言小白的掃盲文,主要講解了go語言的基本知識,GO程序目錄結(jié)構(gòu),GO程序包的導(dǎo)入與別名運(yùn)用,GO內(nèi)置關(guān)鍵字,GO注釋方法需要的朋友可以參考下
    2022-12-12
  • Go語言并發(fā)編程之互斥鎖Mutex和讀寫鎖RWMutex

    Go語言并發(fā)編程之互斥鎖Mutex和讀寫鎖RWMutex

    Go 語言中提供了很多同步工具,本文將介紹互斥鎖Mutex和讀寫鎖RWMutex的使用方法,想要具體了解的小伙伴,請參考下面文章詳細(xì)內(nèi)容,希望對你有所幫助
    2021-10-10
  • Golang學(xué)習(xí)之反射機(jī)制的用法詳解

    Golang學(xué)習(xí)之反射機(jī)制的用法詳解

    反射的本質(zhì)就是在程序運(yùn)行的時(shí)候,獲取對象的類型信息和內(nèi)存結(jié)語構(gòu),反射是把雙刃劍,功能強(qiáng)大但可讀性差。本文將詳細(xì)講講Golang中的反射機(jī)制,感興趣的可以了解一下
    2022-06-06

最新評論