1. 介绍指针
指针 变量存的是一个地址,这个地址指向的空间存的才是值
例如:var ptr *int = &num
2. 内存地址
2.1 一般类型
一般类型2.2 指针类型
指针类型3. 操作指针相关得符号
3.1 声明指针
var num int = 10
var ptr *int = &num
3.2 取出指针数据
*ptr
3.3 查看指针内存
&ptr
4. 值类型和引用类型
4.1 值类型
基本数据类型 int 系列,float系列,bool,string 、数组 结构体struct
4.2 值类型特点
变量直接存储值,内存通常在栈中分配
4.3 示意图
值类型4.4 引用类型
指针、slice切片、map、管道chan、interface
4.5 特点
变量存储的是一个地址,这个地址对应的空间才真正存储数据(值),内存通常在堆上分配,
没有任何变量引用这个地址时,该地址对应的数据空间就成为一个垃圾,由GC来回收。
4.6 示意图
引用类型注意:堆栈不一定装载固定的数据,逃逸分析会发生特殊分配。
网友评论