Golang Map 接口中的值如何变化?这是一个让很多Golang开发者困惑的问题。在Go语言中,map是一种非常重要的数据结构,它以键值对的形式存储数据。然而,在使用map时,我们需要注意其中的一些细节,特别是在处理值的变化时。那么,让我们来详细了解一下在Golang的Map接口中,值是如何变化的吧。
这是代码库 - https://go.dev/play/p/bedouz9qhag
输出 -
map[something:map[acm:34.12 age:12 dune:dune]]
改变 t 变量的值对 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) }
映射类型是引用类型,如指针或切片,
所以这一行
t := x["something"].(map[string]interface{}) t["ACM"] = 34.12 fmt.Println(x) }
只是为您在 x
变量中创建的现有地图创建 alias
的浅表副本,因此它们指向您创建的原始地图所在的相同内存地址。
参见参考 -https://www.php.cn/link/0bf31d0d702fcac8c8e07912f3347c31
以上是Golang Map 接口中的值如何变化的详细内容。更多信息请关注PHP中文网其他相关文章!