-1
當我從Go中的地圖中檢索一個結構體時,是否獲取該值的副本?或者我能得到地圖中的實際值?是通過值或參考的golang地圖查找?
例如,假設我有一個從字符串的地圖結構:
type quality struct {
goodness int
crunchiness int
}
cookies := make(map[string]quality)
cookies["nutrageous"] = quality{goodness: 3, crunchiness: 10}
,我要修改的條目。
我可以指望返回的值與地圖中的值相同嗎?
c := cookies["nutrageous"]
c.goodness += 5
或者我還必須回去修改地圖中的內容嗎?
c := cookies["nutrageous"]
c.goodness += 5
cookies["nutrageous"] = c
由於在Go中沒有提及,所以答案顯然是:按價值。 – Volker
我很開放,因爲你已經接受了一個答案(認爲關閉會阻止繼續downvotes)。然而,答案的根本原因是相同的,所以很好理解爲什麼你的例子在地圖中的值首先不可尋址時不可能工作。 – JimB
所以我在你身邊的答案是一樣的,甚至這些問題源於相同的信息缺乏。但是關於SO的知識需要通過質疑來索引,而這些都是不同的指標 - 即使它們指向相同的答案仍然會增加網站的價值,這兩個問題都存在。 – Brendan