在 Go 中打印结构体变量的地址
在 Go 中,& 运算符返回变量的地址,* 运算符返回变量的地址取消引用指针以访问它指向的值。但是,当使用 fmt.Println() 打印结构体的值时,将应用默认格式,这会导致结构体值的地址采用特殊语法。
打印结构体变量的地址明确地,格式字符串可以与 %p 动词一起使用。该动词指定该值应打印为指针。
考虑以下示例:
type Rect struct { width int name int } func main() { r := Rect{4, 6} fmt.Printf("%p\n", &r) }
此代码将以十六进制数字输出结构体变量 r 的地址。在这种情况下,输出可能类似于:
0x414020
通过使用 %p 动词,您可以检索并打印 Go 中任何变量的地址,包括结构变量。这对于调试目的或将地址传递给需要它们的函数很有用。
以上是Go中如何打印结构体的内存地址?的详细内容。更多信息请关注PHP中文网其他相关文章!