在 golang 中将字符串转换为 *uint64

ece*_*cem 7 string pointers go uint64

假设有一个字符串保存uint64类型变量的地址,我们可以将此地址解析回一个*uint64?

例如:

i := uint64(23473824)
ip := &i
str := fmt.Sprintf("%v", ip)

u, _ := strconv.ParseUint(str, 0, 64)
Run Code Online (Sandbox Code Playgroud)

uuint64。如何从这个值中取出指针?

游乐场链接:https : //play.golang.org/p/1KXFQcozRk

小智 6

它很简单:

number, err := strconv.ParseUint(string("90"), 10, 64)
Run Code Online (Sandbox Code Playgroud)

然后做一些错误检查,希望它有帮助。


nos*_*nos 4

你可以这样做

 ip = (*uint64)(unsafe.Pointer(uintptr(u)))
Run Code Online (Sandbox Code Playgroud)

游乐场链接

尽管我不知道 Go 为您提供了有关此类指针有效性的保证,但我也无法想到应该使用此代码的任何用例。