第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Go 初始化運(yùn)算符,包作用域變量 - 困惑:

Go 初始化運(yùn)算符,包作用域變量 - 困惑:

Go
楊__羊羊 2021-08-01 06:07:39
以下代碼正常工作 - 輸出: You chose Test 1package mainimport (    "fmt")type TNameMap map[int]stringvar nameMap TNameMapfunc init() {    nameMap = make(TNameMap)    nameMap[1] = "You chose Test 1"    nameMap[2] = "You chose Test 2"    nameMap[3] = "You chose Test 3"}func main() {    fmt.Println(nameMap[1])}如果我注釋掉init() ie 中 的第一行,運(yùn)行//nameMap = make(TNameMap)時(shí)我會(huì)感到恐慌main(),因?yàn)閚ameMap從未初始化:panic: runtime error: assignment to entry in nil map但是- 如果init()我寫nameMap := make(TNameMap)而不是nameMap = make(TNameMap),我沒有恐慌,也沒有輸出 -main()只是運(yùn)行并終止進(jìn)程。我知道如果我使用 Initialization 運(yùn)算符 - nameMap := make(TNameMap)我已經(jīng)聲明了一個(gè)nameMap僅作用域?yàn)閕nit()函數(shù)的新變量,因此只有包級(jí)別變量 var nameMap TNameMap在 范圍內(nèi)main(),導(dǎo)致沒有輸出,因?yàn)榘?jí)別不var包含地圖數(shù)據(jù)。但是,我很困惑:為什么我panic在那種情況下沒有得到?如果 main()正在對(duì)包 var 進(jìn)行調(diào)用,則它從未被初始化 - 那么為什么不panic呢?
查看完整描述

1 回答

  • 1 回答
  • 0 關(guān)注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)