make和new
1.make和new
01.make和new
1.1 make和new比较
- new 和 make 是两个内置函数,主要用来创建并分配类型的内存。
- make和new区别
make
关键字的作用是创建于 slice、map 和 channel 等内置的数据结构new
的作用是为类型申请一片内存空间,并返回指向这片内存的指针
1.2 new函数
一:系统默认的数据类型,分配空间
二:自定义类型使用 new 函数来分配空间
1.3 make函数
- make 也是用于内存分配的,但是和 new 不同,它只用于 chan、map 以及 slice 的内存创建
- 而且它返回的类型就是这三个类型本身,而不是他们的指针类型
- 因为这三种类型就是引用类型,所以就没有必要返回他们的指针了
- 当我们为slice分配内存的时候,应当尽量预估到slice可能的最大长度
- 通过给make传第三个参数的方式来给slice预留好内存空间
- 这样可以避免二次分配内存带来的开销,大大提高程序的性能。
make和new
http://coderedeng.github.io/2021/02/08/Go进阶 - make和new/