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
}

有疑问加站长微信联系(非本文作者)