采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
type MyMap map[string]string func (mp MyMap) Add(key, value string) { mp[key] = value } func main() { var mp = make(MyMap) mp.Add("key", "value") fmt.Println(mp) // map[key:value] }
值传递为什么能改变外面map的值呢
map创建的时候,字面值mp(文中创建map的变量)其实本身就是对底层数据的一个引用,这个引用生成的无数个副本的指向也都是同一份底层数据, 所以在函数中会让人产生引用传递的错觉.而这里所谓的“引用”应该就是那个“标头值”,而标头值就是“包含一个指向底层数据结构的指针”.
所以为map创建方法时,使用值接收器和指针接收器都无所谓了吗,可以这么理解吗
登录后可查看更多问答,登录/注册
语法+分布式爬虫实战 为转型工程师量身打造
3.8k 14
744 1
2.1k 1
1.1k 12