亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何更新地圖中的結構屬性

如何更新地圖中的結構屬性

Go
慕妹3146593 2023-06-12 17:14:41
目前正在努力學習圍棋。我有以下功能,但它僅在團隊不存在于地圖中并在地圖中創建新記錄時才有效。如果團隊在地圖中已有結構,則不會更新值。func AddLoss(teamMap map[string]TeamRow, teamName string) {    if val, ok := teamMap[teamName]; ok {        val.Wins++        val.GamesPlayed++    } else {        newTeamRow := TeamRow{Losses: 1}        teamMap[teamName] = newTeamRow    }}我已經更新了函數以僅用具有我想要的值的全新結構替換現有記錄,但是我無法更新地圖中的值似乎很奇怪。有人可以向我解釋一下,或者指出正確的方向嗎?
查看完整描述

1 回答

?
桃花長相依

TA貢獻1860條經驗 獲得超8個贊

你有一個string到 的地圖TeamRow,所以當你離開val地圖時,它會返回團隊的價值,而不是指向團隊的指針。如果您將映射設為指向的指針的字符串,TeamRow那么當您取出 val 時,它將指向存儲在映射中的內存,因此值將在您的AddLoss函數范圍之外持續存在。要做到這一點,只需*在地圖聲明中添加一個 -teamMap map[string]*TeamRow盡管當您填充它時,您還需要在地圖中存儲指針。



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

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號