在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
https://www.cnblogs.com/java-zhao/p/9942311.html https://blog.csdn.net/TDCQZD/article/details/82683678 https://blog.csdn.net/TDCQZD/article/details/82684750 一、常见的值类型和引用类型
值类型:基本数据类型 int 系列, float 系列, bool, string 、数组和结构体struct
引用类型:指针、slice切片、map、管道chan、interface 等都是引用类型 二、内存中堆区和栈区的简单示意图
分析: 1. 一般来说,堆区存放的是生命周期长的变量, 比如全局变量。 2. 一般来说,栈区区存放的是生命周期段的变量, 比如局部变量。 3. 在go中 栈区和堆区是逻辑的划分[编译器处理]。 4. 在go中,编译器加入逃逸分析,根据实际情况来决定到底这个变量应该存放到哪个区。 5. 在go中,我们更多的分析变量的生命周期。
三、值类型和引用类型使用特点:
1、值类型:变量直接存储值,内存通常在栈中分配
2、引用类型:变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。
|
请发表评论