go语言指针

1、go取址符为&.

var  a int = 10
fmt.Printf("变量地址:%x\n", &a)

2、指针:
一个指针变量指向了一个值的内存地址:
使用方式: var var_name *var_type

var ip *int    /*指向整型*/
var fp *float32  /*指向浮点型*/

3、如何使用指针
1、定义指针变量;
2、为指针变量赋值
3、访问指针变量中指向的地址

var ip *int
var a int
ip = *&a
fmt.Printf("value:%d\n", *ip)

3、go空指针
一个指针被定义后没有分配到任何变量,值为nil。
nil指针也称为空指针。
3.1空指针判断

if (ptr != nil)  //ptr非空指针 
if (ptr == nil)  //ptr是空指针

4、数组指针
以下是整型指针数组:

var ptr [MAX]*int
var ptr [3]*int
var a := []int{10,100,200}
for i := 0; i < 3; i++ {
	ptr[i] = &a[i]
}

5、指向指针的指针;
声明格式: var ptr **int

var a int
var ptr *int 
var pptr **int

ptr = &a
pptr = &ptr
//获取pptr的值
fmt.Printf("a = %d\n", a)
fmt.Printf(" *ptr=%d\n", *ptr)
fmt.Printf("**ptr = %d\n", **ptr)
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值