Golang值类型和引用类型

1.值类型和引用类型

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

   引用类型:变量存储的是一个地址,这个地址存储最终的值。内存通常在堆上分配。通过GC回收

PS : 通常在函数中转入指针效率比较高,因为方法中的参数是需要进行拷贝的,拷贝指针的效率比较高,要是一个大的接口体的话拷贝的效率就比较低

2.GoLang中的值类型和引用类型

   1.值类型 : 基本数据类型int、float、bool、string以及array和struct。

   2.引用类型:指针、slice、map、chan等都是引用类型

注意:Go语言中slice,map这三种类型的实现机制类似指针,所以可以直接传递,而不用取地址后传递指针。(注:若函数需改变slice的长度,则仍需要取地址传递指针)