Предполагая, что uintptr
является 64-битным, и что вам нужна кодировка с прямым порядком байтов, вы можете довольно легко создать правильное значение, даже не углубляясь в пакет binary
стандартной библиотеки.
package main
import "fmt"
func main() {
arr := []byte{0xda, 0xcc, 0xd9, 0x74, 0x24, 0xf4}
var r uintptr
for _, b := range arr {
r = (r << 8) | uintptr(b)
}
fmt.Printf("%x", r)
}
Этот код выводит daccd97424f4
, если вы используете 64-битную версию int go (а не, например, на go детской площадке).