GO语言学习:指针

指针

go语言中的指针还是比较好理解的
操作符号是 : & *
& 是取地址
*指针类型

取地址:
	var str = "hello"
	p := &str
	fmt.Println(p)
	//输出 
	//0xc0000881e0

实现的操作就是 把变量str的内存地址 放入到p变量中

指针取值
	var str = "hello"
	p := &str
	z :=*p
	fmt.Println(z)
	//输出
	//hello

实现的操作就是: 得到变量P地址的值

demo

func main() {
	a := 10
	t1(a)
	fmt.Println(a)
	t2(&a)
	fmt.Println(a)

}
func t1 (x int) {
	x++
}
func t2 (x *int) {
	*x++
}
	//输出
	//10
	//11

当我们没有使用指针类型进行操作时 调用 t1 函数后 a 的值还是10
当我们使用指针类型进行操作时 调用 t2 函数后 a 的值是11
这点可以理解为 指针操作将值传递变成了引用传递

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值