值类型&引用类型,内存布局

值类型和引用类型的说明
  1. 值类型: 基本数据类型 int,float,bool,string,数组和结构体
  2. 引用类型:指针,slice切片,map,管道chan,interface等
值类型和引用类型的使用特点
  1. 值类型:变量直接存储值,内存通常在栈中分配

值类型&引用类型,内存布局_第1张图片

2.引用类型:变量存储的是一个地址,这个地址对应的空间才是真正存储数据(值),内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,有GC来回收

示意图:
值类型&引用类型,内存布局_第2张图片

内存的堆区和栈区

值类型&引用类型,内存布局_第3张图片

你可能感兴趣的:(golang,栈,堆,数据结构)