go中map的值是不能原地修改的,即可以给value赋值,但是不能修改值的内容
a:=map[int][3]int{1:{1,2,3}, 2:{4,5,6}}
fmt.Println(a[2][2]) //输出6
a[2][2] = 0
例如上面的语句,如果没有第三行,可以输出6,但是加上第三行后报错:
cannot assign to a[2][2]
.
本文探讨了Go语言中Map数据结构的一个特性:其值类型无法进行原地修改。通过具体代码示例,解释了为何尝试直接修改Map内的复合类型元素会导致编译错误。
go中map的值是不能原地修改的,即可以给value赋值,但是不能修改值的内容
a:=map[int][3]int{1:{1,2,3}, 2:{4,5,6}}
fmt.Println(a[2][2]) //输出6
a[2][2] = 0
例如上面的语句,如果没有第三行,可以输出6,但是加上第三行后报错:
cannot assign to a[2][2]
.
3068
1216
493

被折叠的 条评论
为什么被折叠?
