一、指针地址
每个变量在运行时都拥有一个地址,这个地址代表变量在内存中的位置。Go语言中使用&
字符放在变量前面对变量进行“取地址
”操作。
二、指针类型
Go语言中的值类型(int、float、bool、string、array、struct
)都有对应的指针类型,如:*int、*int64、*string
等。
三、指针赋值
语法:
ptr := &v # v的类型为T
选项参数:
v:代表被取地址的变量,类型为T
ptr:用于接收地址的变量,ptr的类型就为*T,称做T的指针类型。
如图:
四、指针取值
语法:
v := *ptr
选项参数:
ptr:用于接收地址的变量,ptr的类型就为*T,称做T的指针类型。*代表指针。
如图:
五、空指针
当一个指针被定义后没有分配到任何变量时,它的值为 nil
语法:
var ptr *TYPE
选项参数:
TYPE: 数据类型
空指针判断:
if p != nil {
fmt.Println("非空")
} else {
fmt.Println("空值")
}