Go语言指针
go语言指针的值是一个变量的地址。一个指针指示值所保存的位置。**不是所有的值都有地址,但是所有的变量都有。**使用指针可以无需知道变量名字的情况下,间接读取或更新变量的值。
如果一个变量声明为
var x int
&x 表示 x的地址
p := &x
p就是一个指向整型变量的指针 (*int),p指向x,或者 p 包含 x的地址。
p 指向的变量写成 *p
指针类型的零值为nil。 p != nil 返回true,说明p指向了一个变量,指针之间是可以比较的,两个指针当且仅当指向同一个变量或者两者都是nil的情况下才相等
因为一个指针包含变量的地址,所以传递一个指针参数给函数,能让函数间传递变量值
func incr(p *int) int {
*p++ // p不变,p指向的变量++
return