初面网初面网

指针

&取地址,*拆出原值。

形象记忆:&像绳子,捆住了值。*炸开,把里面的东西拿出来

数据的存储实际上是由内存或硬盘等存储设备来负责的。在程序运行过程中,一般会由系统或程序,有选择地加载到内存中(因为内存存取速度快)。

我们平时写的变量,可以看做是地址的别名,本质上是在内存空间中的地址值。

var a = 10
var b = &a  // 存储了地址的变量称为指针变量。指针变量也会开辟一片内存空间,所以它也有自己的地址
// var b *int = &a
println(&a)
println(*b)
println(&b)

在声明指针变量的时候,最好用小写p作为前缀,以表明这是一个指针变量。

// 返回指针的函数
func returnPtr() *int {
	var a = 10
	return &a
}

func main() {
	var b = returnPtr()
	println(b)
	println(*b)
}

更新于 2026/8/13