我需要在golang中将int64切片转换为字节数组。对于单个int64,我已经成功地完成了转换。
var p int64 = -3984171602573983744
fmt.Println(p)
cn := make([]byte, 8)
binary.LittleEndian.PutUint64(cn, uint64(p))
fmt.Println(cn)
我该如何为int64切片实现它?
更准确地说,我正在尝试调用一个库中写入数据库的函数,该函数以字节数组作为参数。我有一个int64切片需要转换为字节数组,反之亦然。这是可能的吗?
binary.LittleEndian.PutUint64(cn[x:], yourUint64)
,在循环过程中,x会变成0、8、16等。你的cn应该足够大以容纳所有数据(它将是8的某个倍数)。当你想要读取数据时,请执行相反操作,即x1 := binary.LittleEndian.Uint64(cn[n:n+8])
,其中n
变成0、1、2... 请参考https://play.golang.org/p/YVQOAG8-Xlm,查看一个更简单的多路复用-多路解复用示例。 - Ravi R