Go语言支持指针,使其在调用函数时修改变量时不必进行值拷贝。
- Go语言中指针是安全指针,不支持偏移和运算。
声明
var 指针变量名 *指向变量的数据类型
例:
// 声明一个整型变量
var a int = 20
// 声明一个整型指针
var ip *int
// 为指针赋值
ip = &a
fmt.Printf("a 变量的地址是: %x\n", &a)
fmt.Printf("ip 变量储存的指针地址: %x\n", ip)
fmt.Printf("*ip 变量的值: %d\n", *ip)
空指针
var p *int
if p == nil {
fmt.Println("空指针")
}else {
fmt.Println("非空指针")
}