本文介绍了在走的更惯用的方式连接code A []字节片诠释一个Int64?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
有没有去更好或更地道的方式连接code A []字节片成一个Int64?
Is there a better or more idiomatic way in Go to encode a []byte slice into an int64?
package main
import "fmt"
func main() {
var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
var data int64
for i := 0; i < 8; i++ {
data |= int64(mySlice[i] & byte(255)) << uint((8*8)-((i+1)*8))
}
fmt.Println(data)
}
推荐答案
您可以使用编码/二进制的
package main
import "fmt"
import "encoding/binary"
func main() {
var mySlice = []byte{244, 244, 244, 244, 244, 244, 244, 244}
data := binary.BigEndian.Uint64(mySlice)
fmt.Println(data)
}
这篇关于在走的更惯用的方式连接code A []字节片诠释一个Int64?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!