开发者社区> 问答> 正文

go定义的map不想改变,又被莫名改变了值

package main

import "fmt"

func update(i map[string]string) map[string]string {
	i["name"]="tom"
	return i
}
func main()  {
	item:=make(map[string]string)
	item["name"]="jyd"
	item["address"]="sh"

	item2:=item
	fmt.Println(update(item2))
	fmt.Println(item)
}

运行结果

map[address:sh name:tom]
map[address:sh name:tom]

我预计item是不会被改变的,改变的只有item2,目前都改了

展开
收起
水果黄瓜 2021-10-24 09:22:52 372 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Go语言路上踩过的坑 立即下载
gohbase :HBase go客户端 立即下载
Go构建日请求千亿级微服务实践 立即下载