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

来源:3-4 Map

EnzoLiu

2021-11-22

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

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

图片描述

写回答

1回答

EnzoLiu

提问者

2021-11-22

//img.mukewang.com/szimg/619b299d099bbbee07880877.jpg

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

0
1
ccmouse
new(map[string]string) 返回*map[string]string,是个指针,而指针指向一个分配好的但是没有初始化过的map。这个map无法被使用。这种写法是不对的。 map应该用make。make会分配并且初始化一个map,并且把这个map返回给我们。
2021-11-23
共1条回复

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程