Golang学习之路—值类型和引用类型

值类型和引用类型

  • 值类型和引用类型说明
  • 值类型和引用类型特点
    • 值类型
    • 引用类型
    • 栈区和堆区示意图

值类型和引用类型说明

值类型:基本数据类型int系列,float系列,bool,string,数组和结构体struct。
引用类型:指针、slice切片、map、管道chan、interface等都是引用类型。其默认值为nil,而非c中的NULL。

值类型和引用类型特点

值类型

变量直接存储值,内存通常在栈中分配。
示意图:
Golang学习之路—值类型和引用类型_第1张图片

引用类型

变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。
Golang学习之路—值类型和引用类型_第2张图片

栈区和堆区示意图

Golang学习之路—值类型和引用类型_第3张图片

你可能感兴趣的:(golang,区块链)