七、GO语言值类型和引用类型

时间:2021-07-15
本文章向大家介绍七、GO语言值类型和引用类型,主要包括七、GO语言值类型和引用类型使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

值类型和引用类型的说明

1.值类型:基本数据类型int系列,float系列,bool,string,数组和结构体struct

2.引用类型:指针,slice切片、map、管道chan、interface等都是引用类型

值类型和引用类型的特点

1.值类型:变量直接存储值,内存通常在栈中分配

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

简单来理解

  假设在厨房中有大大小小的各种罐子

  值类型是把东西放在一个罐子里,通过变量可以知道这个罐子的摆放位置,罐子里面的东西就是值,

  引用类型也是把东西放在一个罐子里,变量名也同样代表的是这个罐子摆放的位置,罐子里面的东西(值)是另外一个罐子的摆放位置。

  这里面说的值就是我们在开发当中实际使用到的内容,比如说var a = 100,var b = "张三",这里的100和张三就是罐子的值。不同的是引用类型有两个罐子,前面那个管子里面存的值是后面那个罐子的摆放位置,后面那个罐子里的值才是100或者张三

原文地址:https://www.cnblogs.com/WORDPAD/p/15016592.html