日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
創(chuàng)新互聯(lián)GO教程:Go語言switchcase語句

Go語言的 switch 要比C語言的更加通用,表達(dá)式不需要為常量,甚至不需要為整數(shù),case 按照從上到下的順序進(jìn)行求值,直到找到匹配的項,如果 switch 沒有表達(dá)式,則對 true 進(jìn)行匹配,因此,可以將 if else-if else 改寫成一個 switch。

白塔網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)建站于2013年開始到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

相對于C語言和 Java 等其它語言來說,Go語言中的 switch 結(jié)構(gòu)使用上更加靈活,語法設(shè)計盡量以使用方便為主。

基本寫法

Go語言改進(jìn)了 switch 的語法設(shè)計,case 與 case 之間是獨立的代碼塊,不需要通過 break 語句跳出當(dāng)前 case 代碼塊以避免執(zhí)行到下一行,示例代碼如下:

var a = "hello"
switch a {
case "hello":
    fmt.Println(1)
case "world":
    fmt.Println(2)
default:
    fmt.Println(0)
}

代碼輸出如下:

1

上面例子中,每一個 case 均是字符串格式,且使用了 default 分支,Go語言規(guī)定每個 switch 只能有一個 default 分支。

1) 一分支多值

當(dāng)出現(xiàn)多個 case 要放在一起的時候,可以寫成下面這樣:

var a = "mum"
switch a {
case "mum", "daddy":
    fmt.Println("family")
}

不同的 case 表達(dá)式使用逗號分隔。

2) 分支表達(dá)式

case 后不僅僅只是常量,還可以和 if 一樣添加表達(dá)式,代碼如下:

var r int = 11
switch {
case r > 10 && r < 20:
    fmt.Println(r)
}

注意,這種情況的 switch 后面不再需要跟判斷變量。

跨越 case 的 fallthrough——兼容C語言的 case 設(shè)計

在Go語言中 case 是一個獨立的代碼塊,執(zhí)行完畢后不會像C語言那樣緊接著執(zhí)行下一個 case,但是為了兼容一些移植代碼,依然加入了 fallthrough 關(guān)鍵字來實現(xiàn)這一功能,代碼如下:

var s = "hello"
switch {
case s == "hello":
    fmt.Println("hello")
    fallthrough
case s != "world":
    fmt.Println("world")
}

代碼輸出如下:

hello
world

新編寫的代碼,不建議使用 fallthrough。


名稱欄目:創(chuàng)新互聯(lián)GO教程:Go語言switchcase語句
本文網(wǎng)址:http://www.5511xx.com/article/dpejghj.html