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