是否可以直接修改 map value内的某个元素的值?
来源:3-4 Map

huochaiqiang
2020-11-22
老师,您好!
针对Map修改值的问题,有一个疑问,就是是否可以直接修改map value内的某个元素的值,代码如下:
type User struct{
name string
age int
}
mp := make(map[int]User)
james := User{
name : “james”,
age :18,
}
mp[1] = james
//通过map引用直接修改
mp[1].age=22
写回答
1回答
-
其实同学可以简单的自己试一下。这里mp[1].age他编译都过不了。
这里map里的元素我们要修改的话,必须是指针形式。
package main
type User struct {
name string
age int
}
func main() {
mp := make(map[int]*User)
james := User{
name: "james",
age: 18,
}
mp[1] = &james
mp[1].age = 22
}
022020-11-23
相似问题