首页 > 后端开发 > Golang > Go中如何打印结构体的内存地址?

Go中如何打印结构体的内存地址?

DDD
发布: 2024-11-30 02:27:14
原创
485 人浏览过

How Can I Print the Memory Address of a Struct in Go?

在 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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板