go基礎(chǔ)(5.1)go label 的用法

go中的label來自于?C/C++的的goto(問了下公司寫C++的據(jù)說都不怎么用,容易導(dǎo)致程序運(yùn)行混亂)

它的作用用過來標(biāo)記某行;用goto 語(yǔ)句的時(shí)候,goto后邊需要跟個(gè)標(biāo)號(hào),就知道跳轉(zhuǎn)到哪一行;

例:

fmt.Println("皮卡丘")

goto KEDAYA

fmt.Println("火箭隊(duì)")

KEDAYA:

fmt.Println("可達(dá)鴨")

//上面代碼 執(zhí)行到goto KEDAYA時(shí)候? 直接跳到執(zhí)行fmt.Println("可達(dá)鴨")

注意:

1.在go語(yǔ)言中標(biāo)記了某行l(wèi)abel 就必須使用到,不然會(huì)報(bào)錯(cuò)

2.一般情況下使用Label的有g(shù)oto, continue,break,goto后面必須跟label的名稱???continue,break可以不用

continue 用法:

KEDAYA:

for i :=1; i <5; i++ {

if i ==3 {

continue KEDAYA

}

fmt.Println(i)

}

break 用法:

KEDAYA:

for i :=1; i <5; i++ {

if i ==3 {

break KEDAYA

}

fmt.Println(i)

}

(有一說一,這玩意兒感覺很雞肋,用了跟只用continue和break一樣 )

3.Label可以聲明在函數(shù)體的任何地方,作用范圍也就在函數(shù)體內(nèi)

4.嵌套函數(shù)的Label無法使用,外面的無法使用嵌套函數(shù)內(nèi)的label,嵌套函數(shù)內(nèi)也無法使用外面的label

5.不可以有兩個(gè)相同名字的label,label名區(qū)分大小寫的,label可以和變量名稱一樣(當(dāng)然你要跟變量重名的話,你可能被別的程序員打死)

6.goto必須在變量聲明之后,變量的聲明沒法被跳過

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Go語(yǔ)言做Web編程非常方便,并且在開發(fā)效率和程序運(yùn)行效率方面都非常優(yōu)秀。相比于Java,其最大的優(yōu)勢(shì)就是簡(jiǎn)便易用...
    暗黑破壞球嘿哈閱讀 9,162評(píng)論 6 66
  • 第一個(gè)Go程序 解讀: a. package Go源文件開頭必須使用package聲明代碼所屬包,包是Go代碼分發(fā)...
    imsilence閱讀 747評(píng)論 0 0
  • 一、變量分組聲明 在Go語(yǔ)言中,同時(shí)聲明多個(gè)常量、變量,或者導(dǎo)入多個(gè)包時(shí),可采用分組的方式進(jìn)行聲明。 import...
    副班長(zhǎng)國(guó)偉閱讀 488評(píng)論 1 0
  • Golang基礎(chǔ)語(yǔ)法 [TOC] 一個(gè)大的程序是由很多小的基礎(chǔ)構(gòu)件組成的。變量保存值,簡(jiǎn)單的加法和減法運(yùn)算被組合成...
    奶爸?jǐn)]代碼閱讀 860評(píng)論 0 4
  • 推薦指數(shù): 6.0 書籍主旨關(guān)鍵詞:特權(quán)、焦點(diǎn)、注意力、語(yǔ)言聯(lián)想、情景聯(lián)想 觀點(diǎn): 1.統(tǒng)計(jì)學(xué)現(xiàn)在叫數(shù)據(jù)分析,社會(huì)...
    Jenaral閱讀 5,950評(píng)論 0 5

友情鏈接更多精彩內(nèi)容