go语法 — var && make && new 的用法和区别

var

var 仅仅是声明一个变量,并没有为变量初始化内存地址

make

make 声明一个变量,又为变量初始化内存地址,其作用是初始化内置的数据结构
make一般用来初始化slice、map、chan、array,并且返回的是声明的变量本身

new

new 也是声明一个变量,为变量初始化内存地址;主要作用是根据传入的类型分配一片内存空间并返回指向这片内存空间的指针,事实上他们返回的都是引用类型,引用类型就是变量直接存放的就是一个地址值,这个地址值指向的空间存的才是值,比如指针;

但是new一般用来初始化自定义类型,比如struct;返回的是声明变量的指针,内存地址


版权声明:本文为qq_38658567原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。