变量
var
- 用于变量声明
- 声明变量,变量默认是该类型的0值
- var a *int,给a赋值会panic,因为a的默认值是null,没有内存空间
new
- 为变量开辟内存空间
- 返回指针类型
- 可用于所有类型
make
- 为变量开辟内存空间,也能同时初始化
- 返回的是引用类型本身
- 只能用于slice,map,channel
传值or传指针
传值:拷贝整个对象;不能更改原对象
传指针:拷贝指针地址;可更改原对象;发生逃逸,增加gc压力
1 2
1、小对象,不需要更改原对象,传值 2、大对象,需要更改原对象,传指针
This post is licensed under CC BY 4.0 by the author.