switch語句也用于條件判斷,相比if語句它更适于判斷的條件比較多的情況。
1.switch語句的基本格式:
switch 表達式{
case 條件1:
執行語句
case 條件2:
執行語句
...省略n個case...
default:
執行語句
}
switch語句從第一個case語句開始從上往下判斷,當條件滿足時執行case後面的語句,如果沒有匹配則執行default後面的語句。
測試一下:
例子中表達式就是一個變量num,它的結果是一個整型值,從上往下逐一匹配case的值,當case 2時匹配成功,結束switch語句。
可以看到Go語言的case語句不需要寫break,當匹配到結果時自動退出switch。
2. switch支持不同類型
表達式的結果不一定是要整型,case語句的類型與表達式的類型一緻就可以。
測試一下:
例子中表達式的結果是bool類型, 因此case語句的結果取true或false。
3. 省略switch後的表達式
switch可以不跟表達式,直接進行case。
測試一下:
例子中把num的賦值放到了switch語句之前了。switch後沒有跟表達式,默認結果為true。
4. fallthrough
Go switch沒有break,但是有fallthrough, fallthrough強制執行下一條case後面的語句。
測試一下:
例子中num匹配到case 1, 此處使用了fallthrough,因此不管是不是匹配case 4都執行了fmt.Println("<3")
特别說明:若後續發現文章中的錯誤或者對文章内容補充将隻在我的博客中進行更新。我的博客主要記錄編程中學到的知識、踩過的坑以及一些莫名其妙的想法。歡迎來踩我的獨立博客: fearlazy。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!