濮阳杆衣贸易有限公司

主頁 > 知識庫 > go語言中fallthrough的用法說明

go語言中fallthrough的用法說明

熱門標簽:外呼系統(tǒng)顯本地手機號 阿克蘇地圖標注 外呼系統(tǒng)用什么卡 excel地圖標注分布數(shù)據(jù) 評價高的400電話辦理 電話機器人軟件免費 涿州代理外呼系統(tǒng) 百度地圖標注后傳給手機 壽光微信地圖標注

fallthrough:Go里面switch默認相當(dāng)于每個case最后帶有break,匹配成功后不會自動向下執(zhí)行其他case,而是跳出整個switch, 但是可以使用fallthrough強制執(zhí)行后面的case代碼。

示例程序1:

switch {
    case false:
        fmt.Println("The integer was = 4")
        fallthrough
    case true:
        fmt.Println("The integer was = 5")
        fallthrough
    case false:
        fmt.Println("The integer was = 6")
        fallthrough
    case true:
        fmt.Println("The integer was = 7")
        fallthrough
    case false:
        fmt.Println("The integer was = 8")
    default:
        fmt.Println("default case")
    }

輸出結(jié)果:

The integer was = 5

The integer was = 6

The integer was = 7

The integer was = 8

問題:是否在switch最后一個分支使用fallthrough???

有錯誤提示,顯示:cannot fallthrough final case in switch

fallthrough不能用在switch的最后一個分支。

示例程序2:

上述示例是true、false常量進行分支判斷,看如下變量示例。

s := "abcd"
    switch s[1] {
    case 'a':
        fmt.Println("The integer was = 4")
        fallthrough
    case 'b':
        fmt.Println("The integer was = 5")
        fallthrough
    case 'c':
        fmt.Println("The integer was = 6")
    default:
        fmt.Println("default case")
    }

輸出結(jié)果如下:

The integer was = 5

The integer was = 6

更改為:

s := "abcd"
    switch s[3] {
    case 'a':
        fmt.Println("The integer was = 4")
        fallthrough
    case 'b':
        fmt.Println("The integer was = 5")
        fallthrough
    case 'c':
        fmt.Println("The integer was = 6")
    default:
        fmt.Println("default case")
    }

輸出:

default case

總結(jié):

switch分支中使用變量進行判斷的時,fallthrough正確的分支開始其作用。

補充:【踩坑】golang的fallthrough大坑

加了fallthrough后,會直接運行【緊跟的后一個】case或default語句,不論條件是否滿足都會執(zhí)行,后面的條件并不會再判斷了,?

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。如有錯誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • Golang 編譯成DLL文件的操作
  • golang調(diào)用c實現(xiàn)的dll接口細節(jié)分享
  • Golang如何調(diào)用windows下的dll動態(tài)庫中的函數(shù)
  • go mod 使用私有g(shù)itlab群組的解決方案
  • django將圖片保存到mysql數(shù)據(jù)庫并展示在前端頁面的實現(xiàn)
  • golang實踐-第三方包為私有庫的配置方案
  • 解決go mod私有倉庫拉取的問題

標簽:汕頭 吐魯番 梅河口 雞西 欽州 蘭州 重慶 銅川

巨人網(wǎng)絡(luò)通訊聲明:本文標題《go語言中fallthrough的用法說明》,本文關(guān)鍵詞  語,言中,fallthrough,的,用法,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《go語言中fallthrough的用法說明》相關(guān)的同類信息!
  • 本頁收集關(guān)于go語言中fallthrough的用法說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    宜黄县| 炎陵县| 浪卡子县| 稷山县| 磐石市| 土默特左旗| 铁岭县| 治多县| 海口市| 孙吴县| 承德市| 黑河市| 汽车| 汉寿县| 通渭县| 桃江县| 华蓥市| 永平县| 安宁市| 乌兰浩特市| 临江市| 遂昌县| 玉溪市| 拉萨市| 罗平县| 原阳县| 鄂伦春自治旗| 云霄县| 徐闻县| 浦城县| 海原县| 原阳县| 牙克石市| 汝州市| 黔西| 永仁县| 汉沽区| 平果县| 桃源县| 广水市| 新邵县|