Wie ändern sich die Werte in der Golang Map-Oberfläche? Diese Frage verwirrt viele Golang-Entwickler. In der Go-Sprache ist Map eine sehr wichtige Datenstruktur, die Daten in Form von Schlüssel-Wert-Paaren speichert. Bei der Verwendung von Karten müssen wir jedoch auf einige Details achten, insbesondere beim Umgang mit Wertänderungen. Schauen wir uns also genauer an, wie sich Werte in der Kartenoberfläche von Golang ändern.
Dies ist die Codebasis - https://go.dev/play/p/bedouz9qhag
Ausgabe -
map[something:map[acm:34.12 age:12 dune:dune]]
Welche Auswirkung hat die Änderung des Werts der t-Variablen auf x?
package main import "fmt" func main() { x: = make(map[string] interface {}, 10) x["something"] = map[string] interface {} { "dune": "dune", "age": 12 } t: = x["something"].(map[string] interface {}) t["ACM"] = 34.12 fmt.Println(x) }
Der zugeordnete Typ ist ein Referenztyp, wie Zeiger oder Slice,
Also diese Zeile
t := x["something"].(map[string]interface{}) t["ACM"] = 34.12 fmt.Println(x) }
ist nur eine flache Kopie für Sie in x
变量中创建的现有地图创建 alias
, sodass sie auf dieselbe Speicheradresse verweisen, an der sich die von Ihnen erstellte Originalkarte befand.
Siehe Referenz -https://www.php.cn/link/0bf31d0d702fcac8c8e07912f3347c31
Das obige ist der detaillierte Inhalt vonWie ändert sich der Wert in der Golang Map-Schnittstelle?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!