go 指针和地址值的区别

1.很多初学者会把指针*和地址值&混为一谈,下面区分下

内存地址:是每个字节单元的唯一编号。

指针:指针是一个实体,并且会分配内存,相当于一个专门用来保存地址的整形变量。

具体代码示例:

package main

import (
	"fmt"
)

func main() {
	x := 10
	var p *int = &x //获取x的地址,然后保存到指针类型的变量p中
	*p += 20        //通过指针类型来操作变量x

	fmt.Println(p, *p)

}

2.指针类型存放的是一个引用的地址,因此可以直接修改变量的值

猜你喜欢

转载自blog.csdn.net/weixin_39579606/article/details/83509230