gpt4 book ai didi

go - 如何在 golang 中将 uintptr 转换为 []byte?

转载 作者:IT王子 更新时间:2023-10-29 01:48:55 27 4
gpt4 key购买 nike

我不知道怎么办。它不使用 []byte(uintptr(0)) 进行编译。

请给我举个例子。

最佳答案

这取决于您机器的架构(32 位或 64 位)以及您希望如何对其进行编码(小端或大端)。无论哪种方式,encoding/binary是你的答案:

var u uintptr = 42
size := unsafe.Sizeof(u)
b := make([]byte, size)
switch size {
case 4:
binary.LittleEndian.PutUint32(b, uint32(u))
case 8:
binary.LittleEndian.PutUint64(b, uint64(u))
default:
panic(fmt.Sprintf("unknown uintptr size: %v", size))
}

Playground :http://play.golang.org/p/tIocqy-rAJ .

关于go - 如何在 golang 中将 uintptr 转换为 []byte?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32223562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com