Go语言值类型和引用类型
一、常见的值类型和引用类型
- 值类型:基本数据类型int系列,float系列,bool,string,数组,结构体struct。
- 引用类型:指针,切片slice,map,interface,管道chan等都是引用类型
二、值类型和引用类型使用得特点
- 值类型变量直接存储值,内存通常在栈中分配。内存示意图如下:
- 引用类型变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆中分配,当没有任何变量引用这个地址时,该地址对应的数据存储空间就成为了一个垃圾,由GC来回收。内存示意图如下: