跳转到主内容
趣航编程网 - 趣学编程,启航技术之路!

Golang如何获取变量的指针地址

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

p := Person{Name: "Tom", Age: 30}
fmt.Println(&p) // 输出结构体的地址
即使是对结构体变量取地址,也使用 & 操作符,结果是
*Person
类型。 基本上就这些。Golang中获取变量地址就是用 &变量名 ,这是指针操作的基础,也是理解函数传参、方法接收者等机制的前提。

相关文章