使用&符号可获取变量内存地址,如name:=”hello”,&name返回String类型指针;可将地址赋值给指针变量var ptr int = &age,并通过*ptr解引用获取值;结构体等复合类型同样适用&操作符,结果为对应类型的指针,这是理解go指针、函数传参和方法接收者的基础。

在golang中,获取变量的指针地址非常简单,使用取地址符 & 即可。这个操作会返回变量在内存中的地址,类型为对应类型的指针。
使用 & 获取变量地址
只需要在变量名前加上 & 符号,就能得到该变量的内存地址。
示例:
name := "hello"<br> fmt.Println(&name) // 输出类似 0xc000010230 的地址
此时 &name 的类型是 *string,表示指向字符串的指针。
指针变量的声明与赋值
你可以将地址存储到一个指针类型的变量中,方便后续使用。
立即学习“go语言免费学习笔记(深入)”;
示例:
age := 25<br> var ptr *int = &age<br> fmt.Println(ptr) // 输出 age 的地址<br> fmt.Println(*ptr) // 输出 25,*ptr 表示解引用
这里 ptr 是一个指向 int 类型的指针,保存了 age 的地址。
基础类型和复合类型的地址获取方式一致
无论是整型、字符串、结构体还是数组,获取地址的方式都一样。
结构体示例:
type Person Struct {<br> Name string<br> Age int<br> }<br><br> p := Person{Name: "Tom", Age: 30}<br> fmt.Println(&p) // 输出结构体的地址
即使是对结构体变量取地址,也使用 & 操作符,结果是 *Person 类型。
基本上就这些。Golang中获取变量地址就是用 &变量名,这是指针操作的基础,也是理解函数传参、方法接收者等机制的前提。


