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
这点可以理解为 指针操作将值传递变成了引用传递

发布了11 篇原创文章 · 获赞 1 · 访问量 1251

猜你喜欢

转载自blog.csdn.net/ZHOUAXING/article/details/105043977