学习Golang 指针

本文介绍了在Golang中使用指针的基本概念,包括声明、传递和操作内存地址,通过示例展示了指针如何交换变量值以及访问更深层次的内存地址。
摘要由CSDN通过智能技术生成

指针学习,之前在php里接触指针并不多,好在Golang的指针也比较好理解

package main

import "fmt"

func wrap(pa *int, pb *int) {
	var temp int
	temp = *pa
	*pa = *pb
	*pb = temp
}

/*
指针学习,&a传递该变量指导
声名变量是
*类型 表示此变量指向内存地址
&变量 表示获取此变量的内存地址
*变量 表示获取此地址的值
*/
func main() {

	var a, b = 10, 20
	wrap(&a, &b)
	fmt.Println("a = ", a, ";", "b = ", b)

	var p *int
	p = &a
	fmt.Println(*p)

	var d **int
	d = &p
	fmt.Println(*d)  //返回 d 对应的值,这个值是个内存地址
	fmt.Println(**d) //返回 d 对应内存地址的上级内存地址,是个具体的值了
	fmt.Println(p)
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值