欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Go中的條件語(yǔ)句Switch示例詳解

 更新時(shí)間:2021年08月21日 13:38:41   作者:俊king  
Go的switch的基本功能和C、Java類似,switch 語(yǔ)句用于基于不同條件執(zhí)行不同動(dòng)作,每一個(gè) case 分支都是唯一的,從上至下逐一測(cè)試,直到匹配為止,對(duì)Go條件語(yǔ)句Switch相關(guān)知識(shí)感興趣的朋友一起看看吧

Switch簡(jiǎn)介

Go的switch的基本功能和C、Java類似:

  • switch 語(yǔ)句用于基于不同條件執(zhí)行不同動(dòng)作,每一個(gè) case 分支都是唯一的,從上至下逐一測(cè)試,直到匹配為止。
  • 匹配項(xiàng)后面也不需要再加 break。

特點(diǎn):

switch 默認(rèn)情況下 case 最后自帶 break 語(yǔ)句,匹配成功后就不會(huì)執(zhí)行其他 case

重點(diǎn)介紹Go當(dāng)中的Switch的兩個(gè)特別點(diǎn):**

表達(dá)式判斷為true還需要執(zhí)行后面的 case,可以使用 fallthrough

type-switch 來(lái)判斷某個(gè) interface 變量中實(shí)際存儲(chǔ)的變量類型

fallthrough

特點(diǎn):

強(qiáng)制執(zhí)行后面的 case 語(yǔ)句,fallthrough 不會(huì)判斷下一條 case 的表達(dá)式結(jié)果是否為 true。

示例:

package main
​
import "fmt"
​
func main() {
    switch {
    case true:
        fmt.Println("1、case條件語(yǔ)句為false!")
        fallthrough
    case false:
        fmt.Println("2、case條件語(yǔ)句為true!")
    default:
        fmt.Println("默認(rèn)的case")
    }
}

代碼分析:

  • 正常來(lái)說(shuō)當(dāng)執(zhí)行完第一條語(yǔ)句以后不會(huì)執(zhí)行第二個(gè)case,因?yàn)榈诙€(gè)casefalse而且已經(jīng)執(zhí)行完了第一個(gè)truecase
  • fallthrough關(guān)鍵字存在會(huì)強(qiáng)制執(zhí)行第二個(gè)case

Type Switch

特點(diǎn):

  • 判斷某個(gè) interface 變量中實(shí)際存儲(chǔ)的變量類型
  • 可以枚舉類型,值類型和引用類型都可以

語(yǔ)法格式:

switch x.(type){
    case type:
       statement(s);      
    case type:
       statement(s); 
    /* 你可以定義任意個(gè)數(shù)的case */
    default: /* 可選 */
       statement(s);
}

示例:

package main
​
import (
    "fmt"
    "go/types"
)
​
func main() {
    var inter interface{} = true
​
    //使用變量去代替接口當(dāng)中的值并且判斷類型
    switch i := inter.(type) {
    case types.Nil:
        fmt.Println("x的類型是:", i)
    case int:
        fmt.Println("x是int類型")
    case float64:
        fmt.Println("x是float64類型")
    case func(int2 int):
        fmt.Println("x是func(int)類型")
    case bool, string:
        fmt.Println("x是bool或string類型")
    default:
        fmt.Println("未知類型")
    }

可以直接判斷接口當(dāng)中的數(shù)據(jù)的數(shù)據(jù)類型

到此這篇關(guān)于Go中的條件語(yǔ)句Switch詳解的文章就介紹到這了,更多相關(guān)Go條件語(yǔ)句Switch內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 我放棄Python轉(zhuǎn)Go語(yǔ)言的9大理由(附優(yōu)秀書籍推薦)

    我放棄Python轉(zhuǎn)Go語(yǔ)言的9大理由(附優(yōu)秀書籍推薦)

    這篇文章主要給大家介紹了關(guān)于我放棄Python轉(zhuǎn)Go語(yǔ)言的9大理由,以及給大家推薦了6本優(yōu)秀的go語(yǔ)言書籍,對(duì)同樣想學(xué)習(xí)golang的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Go json omitempty如何實(shí)現(xiàn)可選屬性

    Go json omitempty如何實(shí)現(xiàn)可選屬性

    在Go語(yǔ)言中,使用`omitempty`可以幫助我們?cè)谶M(jìn)行JSON序列化和反序列化時(shí),忽略結(jié)構(gòu)體中的零值或空值,本文介紹了如何通過(guò)將字段類型改為指針類型,并在結(jié)構(gòu)體的JSON標(biāo)簽中添加`omitempty`來(lái)實(shí)現(xiàn)這一功能,例如,將float32修改為*float32
    2024-09-09
  • 淺析Go中關(guān)于零值和空值判斷的問(wèn)題

    淺析Go中關(guān)于零值和空值判斷的問(wèn)題

    這篇文章主要是對(duì)零值和空值判斷現(xiàn)狀進(jìn)行簡(jiǎn)單的梳理和分享,文中的示例代碼講解詳細(xì),對(duì)我們深入了解go語(yǔ)言有一定的幫助,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-08-08
  • 基于Golang實(shí)現(xiàn)延遲隊(duì)列(DelayQueue)

    基于Golang實(shí)現(xiàn)延遲隊(duì)列(DelayQueue)

    延遲隊(duì)列是一種特殊的隊(duì)列,元素入隊(duì)時(shí)需要指定到期時(shí)間(或延遲時(shí)間),從隊(duì)頭出隊(duì)的元素必須是已經(jīng)到期的。本文將用Golang實(shí)現(xiàn)延遲隊(duì)列,感興趣的可以了解下
    2022-09-09
  • Go語(yǔ)言基礎(chǔ)反射示例詳解

    Go語(yǔ)言基礎(chǔ)反射示例詳解

    這篇文章主要為大家介紹了Go語(yǔ)言基礎(chǔ)關(guān)于反射示例的內(nèi)容詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2021-11-11
  • Go?io/fs.FileMode文件系統(tǒng)基本操作和權(quán)限管理深入理解

    Go?io/fs.FileMode文件系統(tǒng)基本操作和權(quán)限管理深入理解

    這篇文章主要為大家介紹了Go?io/fs.FileMode文件系統(tǒng)基本操作和權(quán)限管理深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2024-01-01
  • Go sync WaitGroup使用深入理解

    Go sync WaitGroup使用深入理解

    這篇文章主要為大家介紹了Go sync WaitGroup使用深入理解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-10-10
  • golang實(shí)現(xiàn)京東支付v2版本的示例代碼

    golang實(shí)現(xiàn)京東支付v2版本的示例代碼

    這篇文章主要介紹了golang實(shí)現(xiàn)京東支付v2版本,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-03-03
  • go實(shí)現(xiàn)反轉(zhuǎn)鏈表

    go實(shí)現(xiàn)反轉(zhuǎn)鏈表

    這篇文章主要介紹了go實(shí)現(xiàn)反轉(zhuǎn)鏈表的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-04-04
  • golang 占位符和fmt常見(jiàn)輸出介紹

    golang 占位符和fmt常見(jiàn)輸出介紹

    這篇文章主要介紹了golang 占位符和fmt常見(jiàn)輸出介紹,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-12-12

最新評(píng)論