-1
Goのマップルックアップが要素のコピーを返すようです。これは言語仕様で説明されているように見えることはできません。私は以下のようにprogramを書いた:go map lookupは要素のコピーを返しますか?
型T構造体{n個の整数}
m := make(map[string]T)
t := T{123}
m["123"] = t
t0 := m["123"]
t1 := m["123"]
t0.n = 456
t1.n = 789
fmt.Println(t, t0, t1)
Iとして出力を得た:{123} {456} {789}。要素のコピーが返されるたびに見えますか?
あなたはスペックでこの動作が必要とされる場合に尋ねるか、まさにあなたの質問はされていますか? – Volker
この動作が仕様で指定されているかどうかを確認しています。これはプログラムに意味を持っているからです。大きな値のオブジェクトを頻繁にマップ検索すると、メモリの割り当て/割り当て解除が多くなることがわかります –
Ok。私の質問はNot_a_Golferによって説明されます。 "Goは参照を渡すことはありません。" –