- 值类型:int,float,bool,string,array和 struct,直接存储值,内存通常在栈中分配
- 引用类型(指针类型): point,slice,map,chan,interface和func,存储的是地址,这个地址指向的空间里面存储值,内存通常在堆上分配,由GC回收
//值类型
i := 111 i -----> 111
//引用类型
ch:=make([]int32,0) ch ------> 内存地址0xaaaaaa -----> 值
new和make区别?
new可以分配任意类型的数据,返回的是指针
make只能用来分配slice,map,chan的数据
本文探讨了Go语言中的值类型与引用类型的内存分配,值类型如int、float等直接存储值,内存通常在栈中分配,而引用类型如slice、map等存储地址,内存位于堆上并由GC管理。new和make是两种不同的内存分配方式,new适用于所有类型,返回指向新分配内存的指针;而make仅用于slice、map和chan,初始化并返回已分配的结构。
1万+

被折叠的 条评论
为什么被折叠?



