大小端的端,指的是字节序列数据的尾端,尾端存放在高地址,则大端。反之。
var i uint32 = 1234 fmt.Printf("%b ", i) i = 0x4d2 fmt.Printf("%d ", i) fmt.Println("-------------------") buf := make([]byte, 4) binary.BigEndian.PutUint32(buf, i) for _, b := range buf { fmt.Printf("%b ", b) }
输出:
10011010010
1234
-------------------
0
0
100
11010010
注:for range 是从低地址到高地址循环遍历的。这里的数据尾端后8位是11010010,存于高位置,所以是大端。