golang语言中make和new的区别?
共同点
A、都是给变量分配内存
B、都是在堆上分配内存
不同点:
1、作用变量类型不同
A、new给string,int和数组分配内存,
B、make给切片,map,channel分配内存;
2、返回类型不一样
A、new返回指向变量的指针
B、make返回变量本身;因为slice、map、channel本身就是引用类型,所以就没有必要返回它们的指针了
3、是否需要手动赋值呢?
A、new是golang的内置函数,会自动根据变量的类型进行默认的初始化;无须手动赋值
B、make创建的变量,必须手动初始化;
具体可以参考下面的网址
网页链接
#程序员# #程序员未来前景如何大龄程序员出路在哪里# #云原生#