binary.BigEndian.Uint32(a)
uint8byte
package main
import "fmt"
import "encoding/binary"
func main() {
var a []byte = []byte{0, 1, 2, 3}
fmt.Println(a)
fmt.Println(binary.BigEndian.Uint32(a))
fmt.Println(binary.LittleEndian.Uint32(a))
}
执行结果:
[0 1 2 3]
66051
50462976
int3200000101
encoding/binary.gopanic: runtime error: index out of range
func (bigEndian) Uint32(b []byte) uint32 {
return uint32(b[3]) | uint32(b[2])<<8 | uint32(b[1])<<16 | uint32(b[0])<<24
}
BigEndianLittleEndianByteOrder
type ByteOrder interface {
Uint16([]byte) uint16
Uint32([]byte) uint32
Uint64([]byte) uint64
PutUint16([]byte, uint16)
PutUint32([]byte, uint32)
PutUint64([]byte, uint64)
String() string
}
有疑问加站长微信联系(非本文作者)
