指针
&取地址,*拆出原值。
形象记忆:&像绳子,捆住了值。*炸开,把里面的东西拿出来
数据的存储实际上是由内存或硬盘等存储设备来负责的。在程序运行过程中,一般会由系统或程序,有选择地加载到内存中(因为内存存取速度快)。
我们平时写的变量,可以看做是地址的别名,本质上是在内存空间中的地址值。
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)
}