Go语言指针

Go语言中的指针存储的是变量的地址,允许间接读取或更新变量值。指针类型如`*int`,通过`&`获取变量地址,`*p`表示指针指向的变量。指针零值为`nil`,非`nil`指针表示指向某个变量。传递指针参数给函数可共享变量。`new`函数用于创建变量并返回其地址。
摘要由CSDN通过智能技术生成

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 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值