1、什么是指针

理解:指针 就是 地址

var a int = 10
var p *int = &a

注意:*p的值为10(a*p指的同一块内存空间

&:获取变量的地址

*:获取指针类型变量所指向的值

空指针:未被初始化的指针,var p *int,这时候*p—>err

 

2、变量存储

等号左边的变量 代表 变量的内存空间 (写)

等号右边的变量 代表 变量内存空间存储的数据值 (读)

  

2、常见的值类型和引用类型

值类型:基本数据类型int系列,float系列,boolstring,数组,结构体struct

引用类型:指针,切片slicemapinterface,管道chan等都是引用类型

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

引用类型变量存储的是一个地址,地址对应的空间才真正存储数据(值),内存通常在堆中分配

注意:当没有任何变量引用这个地址时,该地址对应的数据存储空间就成为了一个垃圾,由GC来回收

 

posted on 2022-03-02 19:04  smile学子  阅读(57)  评论(0编辑  收藏  举报