请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

老师,make(map[string]string)和 new(map[string]string) 有什么区别呢?

复习课程中突然想到的一个问题,这也是面试当中被高频率问到的一个问题 …

然后我在网上找到了下面的解释,是不是可以理解为 new 为声明一个变量,而 make 是定义一个变量?

图片描述

正在回答 回答被采纳积分+3

1回答

提问者 EnzoLiu 2021-11-22 13:26:46

https://img1.sycdn.imooc.com//szimg/619b299d099bbbee07880877.jpg

这是在网上看到的答案,是不是可以简单理解为:new只是声明一个变量,而make的话是定义了一个变量?

0 回复 有任何疑惑可以回复我~
  • ccmouse #1
    new(map[string]string) 返回*map[string]string,是个指针,而指针指向一个分配好的但是没有初始化过的map。这个map无法被使用。这种写法是不对的。
    map应该用make。make会分配并且初始化一个map,并且把这个map返回给我们。
    回复 有任何疑惑可以回复我~ 2021-11-23 22:50:58
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信