指针
基本介绍
基本数据类型, 变量存的就是值,也叫值类
获取变量 i 的地址,用&i
指针类型,指针变量存的是一个地址,这个地址指向的空间存的才是值
比如:var ptr *int=&num
ptr指向一个空间,存的是 i 的地址
获取指针类型所指向的值,使用*,比如var ptr *int
指针变量接收地址
修改*ptr值时,会导致ptr指向空间所存的地址对应的空间的所存值改变
使用细节
值类型,多有对应的指针类型 *数据类型
值类型包括:基本数据类型int系列,float,bool,string,数组和结构体struct
常见的值类型和引用类型
值类型:基本数据类型int系列,float,bool,string,数组和结构体struct
引用类型:指针,slice切片,map,管道、interface等都是引用类型
值类型和引用类型的说明
内存的栈区和堆区示意图
值类型:变量直接储值,内存通常在栈中分配、
引用类型:变量存储的是一个是一个地址,这个地址对应的空间才是真正存储数据(值),内存通常在堆区分配,当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收
图片引用: