英文:
How to convert memory address (like 0xc20803a000) to string? Golang
问题
我认为问题已经很清楚了。我想知道如何将像0xc20803a000
这样的内存地址转换为字符串类型。这可能吗?
英文:
I think question is quite self-explained. I want to know how can I convert memory address like this 0xc20803a000
to string type. Is it possible?
答案1
得分: 15
你可以使用fmt.Sprintf()
函数,其中使用%p
来表示指针的十六进制表示(带有前缀0x)。
示例代码如下:
myString := fmt.Sprintf("%p", yourPointer)
fmt.Sprintf()
函数返回一个字符串。
你可以在以下链接中找到几个打印内存指针的示例:
在这些示例中,将Printf
替换为Sprintf
,你就可以得到一个字符串来使用了。
英文:
You can use fmt.Sprintf(), with %p (base 16 notation, with leading 0x)
myString := fmt.Sprintf("%p", yourPointer)
fmt.Sprintf()
returns a string.
You can see several examples (of printing a memory pointer) in:
- "How do I print the pointer value of a Go object? What does the pointer value mean?".
- "Go by Example: String Formatting".
Replace in those examples Printf
by Sprintf
, and you have a string for you to use.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论