func main() {
var a int = 10
fmt.Println("a :", &a)
var p *int = &a
fmt.Println("p1 :", p)
fmt.Println("p2 :", &p)
fmt.Println("p3 :", *p)
fmt.Println("p4 :", *(&a))
}
p1是指針變量p所存儲的a的地址
p2是指針變量p的地址
p3是間接引用即通過指針變量存儲的a的地址取到a的值
如下圖:

image.png
空指針
var a int (無法通過a取值會報錯)

image.png
野指針
用無效的出事化方式
例如:
var p *int = 0
或
var p *int = dx00cx