采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老师,您好! 针对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
其实同学可以简单的自己试一下。这里mp[1].age他编译都过不了。
这里map里的元素我们要修改的话,必须是指针形式。
package maintype 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}
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
非常感谢!
谢谢老师您的回复。我隐约体会到了,与Java的不同。以及map底层数据结构的差异点。
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
4.2k 14
1.1k 1
2.5k 1
1.5k 12
购课补贴联系客服咨询优惠详情
慕课网APP您的移动学习伙伴
扫描二维码关注慕课网微信公众号