如何在Go中打印结构变量的地址

如何在Go中打印结构变量的地址,第1张

如何在Go中打印结构变量的地址

当您使用来打印值时

fmt.Println()
,将使用默认格式。引用以下文件的doc
fmt

%v的默认格式为:

bool:         %tint, int8 etc.:          %duint, uint8 etc.:        %d, %#x if printed with %#vfloat32, complex64, etc: %gstring:       %schan:         %ppointer:      %p

对于复合对象,将使用以下规则递归地打印元素,其布局如下:

struct:  {field0 field1 ...}array, slice:       [elem0 elem1 ...]maps:    map[key1:value1 key2:value2 ...]pointer to above:   &{}, &[], &map[]

结构值的地址是最后一行,因此将其视为特殊字符并因此使用

&{}
语法进行打印。

如果要打印其地址,请不要使用默认格式,而要使用格式字符串,并使用

%p
动词指定您要的地址(指针):

fmt.Printf("%pn", &r)

这将输出(在Go Playground上尝试):

0x414020


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5487623.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-12
下一篇 2022-12-12

发表评论

登录后才能评论

评论列表(0条)

保存