指针
基本介绍
-
基本数据类型,变量存的就是值,也叫值类型
-
获取变量的地址,用&
-
指针类型,指针变量村的是一个地址,这个地址指的的空间存的才是值
var ptr *int = &i // 1. ptr是一个指针变量 // 2. ptr的类型*int // 3. ptr本身的值&i
-
获取指针类型所指向的值,使用:*
值类型和引用类型
-
值类型
int系列,float系列,bool系列,string,数组,结构体struct
变量直接存储值,内存通常在栈中分配
-
引用类型
指针,slice切片,map,管道chan,interface等都是引用类型
变量存储的是一个地址,这个地址对应的空间才真正存储数据,内存通常在堆上分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收