Golang 指针
内存地址
C/C++不能进行偏移和运算

使用指针的好处:

&(取地址)*(根据地址取值)该变量地址指针

指针地址和指针类型

Golang 程序运行时,每个变量都拥有一个地址,指向该变量在内存中的位置。

&取地址值类型都有对应的指针类型
&(取地址)*(根据地址取值)

指针取值

& 取地址变量的指针* 根据地址地址存放的值

code-snapshot (3).png

变量、指针地址、指针变量、取地址、取值的相互关系和特性如下:

  1. 对变量取地址(&)操作,获得这个变量的指针变量。
  2. 指针变量的值是该变量在内存中的位置。
  3. 对指针变量取值(*),获得的是指针变量指向地址存放的值。

指针传值示例:

code-snapshot (4).png

空指针

当一个指针被定义后没有分配到任何变量时,它的值为 nil 空指针的判断

code-snapshot (5).png