switch是最靈活的一種控制語(yǔ)句,在使用switch時(shí)候,需要注意:
成都創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)制作的專業(yè)網(wǎng)站設(shè)計(jì)公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁(yè)設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)近千家。--左花括號(hào)"{"必須與switch處于同一行
--條件表達(dá)式不限制為常量或者整數(shù)
--單個(gè)case中,可以出現(xiàn)多個(gè)結(jié)果選項(xiàng)
--與C語(yǔ)言等規(guī)則相反,G0語(yǔ)言不需要break來明確退出一個(gè)case
--只有在case中明確添加fallthrough關(guān)鍵字,才會(huì)繼續(xù)執(zhí)行緊跟的下一個(gè)case
--可以不設(shè)定switch之后的條件表達(dá)式,在此種情況下,整個(gè)switch結(jié)構(gòu)與多個(gè)if....else的邏輯作用等同
--可以有任意數(shù)量的case語(yǔ)句在switch內(nèi),每個(gè)case后跟值進(jìn)行比較,以及一個(gè)冒號(hào)
--在switch語(yǔ)句中使用的表達(dá)式必須具有整體或布爾表達(dá)式,或者是一個(gè)類型,如果表達(dá)式不通過,默認(rèn)值為true
--constant-expression的情況,必須是相同的數(shù)據(jù)類型,在switch的變量,它必須是一個(gè)常量或文字
--switch語(yǔ)句可有一個(gè)可選的default,它必須出現(xiàn)在switch語(yǔ)句的末尾,default可用于在沒有任何case為真時(shí)執(zhí)行任務(wù),default之后不需要break語(yǔ)句
流程圖
egg1:
package main
import "fmt"
func main() {
var grade string = "A"
switch {
case grade == "A":
fmt.Printf("Good....\n")
case grade == "B":
fmt.Printf("Well Done....\n")
case grade == "C":
fmt.Printf("Ok....")
default:
fmt.Printf("iNVALID grade....\n")
}
fmt.Printf("Your grade is %s\n", grade)
}
egg2:
package main
import "fmt"
func main() {
switch a := 1; {
case a >= 0:
fmt.Printf("a>=0")
fallthrough //如果不加這個(gè)只會(huì)打印a>=0,不會(huì)執(zhí)行后面的a>=1的語(yǔ)句,若要讓每個(gè)case都判斷,都要在case 后面加 fallthrough
case a >= 1:
fmt.Printf("a=1")
default:
fmt.Printf("not found...")
}
}
##需要注意的是跟在switch屬于局部的變量,只能在內(nèi)部實(shí)現(xiàn)訪問,若要全局必須在switch外部
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。