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

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法分配給結(jié)構字段/分配給零映射中的條目

無法分配給結(jié)構字段/分配給零映射中的條目

Go
回首憶惘然 2023-04-17 15:20:50
有誰知道為什么這不起作用?我現(xiàn)在已經(jīng)絞盡腦汁大約 4 個小時了。我無法讓它工作。在我看來,我正在嘗試做同樣的事情兩次。我在一個結(jié)構中制作一個字段的地圖,然后我在另一個結(jié)構中的另一個字段上再次這樣做。如果我嘗試制作地圖。它失敗了:“無法分配給結(jié)構字段。Bet.Events [“one”]。地圖中的跑步者”。因此,如果我刪除 make,并嘗試分配它,我會得到:“分配給 nil 映射中的條目”https://play.golang.org/p/kRcXoyO-8FNvar Bet BetStructtype BetStruct struct {    Events     map[string]Event}type Event struct {    Name       string    Runners    map[int]Runner}type Runner struct {    Name       string}func main(){    // == THIS WORKS FINE ==    Bet.Events = make(map[string]Event)    Bet.Events["one"] = Event{        Name: "first",    }    Bet.Events["two"] = Event{        Name: "second",    }    // == THIS DOES NOT WORK ==    Bet.Events["one"].Runners = make(map[int]Runner)    Bet.Events["one"].Runners[0] = Runner{         Name:  "Jeff",    }}
查看完整描述

1 回答

?
梵蒂岡之花

TA貢獻1900條經(jīng)驗 獲得超5個贊

map 的默認值是nil(之前或沒有 make(map))


您在此代碼中設置了默認值Runners:


Bet.Events["one"] = Event{

? ? Name: "first",

}

因此,Runners沒有明確定義并設置為nil.


結(jié)構是可變的,除了映射元素。(您無法重新初始化地圖

元素Bet.Events["one"],因為它不可尋址。


你需要做:


Bet.Events["one"] = Event{

? ? Name: "first",

? ? Runners: make(map[int]Runner),

}

查看完整回答
反對 回復 2023-04-17
  • 1 回答
  • 0 關注
  • 106 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號