var new 和 make的区别

1 var 会对int string基本类型和 struct 分配地址,并置为零值;而对于sliect map这种引用类型的,只是存在一个指针地址,并没有分配空间,len()=0,也就是空切片; 对于指针*,系统不会分配地址,默认就是nil

2 new 通过new为指针分配内存,有了内存空间,这个变量就可以*的使用了(new返回的是指针); new对于slice和map只是返回一个初始指针

3 make 用于map, slice,chan 的内存创建,因为他们三个是引用类型,直接返回这三个类型本身;是分配内存并初始化,初始化并不是置为零值

 

上一篇:substr,subString,split,slice,replace的区别


下一篇:一个测试