天天看点

golang语言中make和new的区别?共同点A、都是给变量分配内存B、都是在堆上分配内存不同点:1、作用变量类型不同

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创建的变量,必须手动初始化;

具体可以参考下面的网址

网页链接

#程序员# #程序员未来前景如何大龄程序员出路在哪里# #云原生#

golang语言中make和new的区别?共同点A、都是给变量分配内存B、都是在堆上分配内存不同点:1、作用变量类型不同
golang语言中make和new的区别?共同点A、都是给变量分配内存B、都是在堆上分配内存不同点:1、作用变量类型不同
golang语言中make和new的区别?共同点A、都是给变量分配内存B、都是在堆上分配内存不同点:1、作用变量类型不同
golang语言中make和new的区别?共同点A、都是给变量分配内存B、都是在堆上分配内存不同点:1、作用变量类型不同

继续阅读