指针类型
获取变量的地址: &i
&符号加变量名
var ptr *int=&num&num,获取变量num的地址
ptr是一个指针类型的数据,获取该指针指向的值用*ptr
指针理解图:

使用地址修改数据的值:

值类型都有对应的指针类型
值类型包括,int系列,float系列,bool,string,数组,结构体struct
引用类型:指针,slice切片,map,管道chan,接口interface等都是引用类型
值类型和引用类型的使用特点:
值类型:变量直接存储值,内存通常在栈中分配
引用类型:变量存储的是一个地址,这个地址对应的空间才真正储存数据(值),内存通常在堆上分配(有可能会逃逸分析),当没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收
栈和堆
栈存放:

堆存放:

文章介绍了Go语言中指针的概念,如何获取变量地址以及如何通过指针修改数据。值类型如int、float、bool、string、数组和结构体有对应的指针类型,而引用类型包括指针、slice、map、管道chan和接口interface。值类型在栈中分配内存,而引用类型在堆上分配,可能涉及逃逸分析和垃圾回收(GC)。
5551

被折叠的 条评论
为什么被折叠?



