golang-16进制&10进制

1个字节byte(8位2进制数)
可以用来表示1个10进制数,
可以用来表示2个16进制数(每四位二进制可以表示1个16进制数),

e.g.

package main

import(
    "fmt"
    "unsafe"
)    

func main() {
    //声明1个16进制的数
    x := 0x12345678

    //将指向x的指针转变成通用指针
    p := unsafe.Pointer(&x)
    //将通用指针转变成容量是4 的字节数组的指针, 这样,由于每个字节能存储2个16进制数, 所以 4个字节的容量 可以存储 8个16进制的数
    n :=(*[4]byte)(p)

    //遍历, 每次打印一个字节, (包含2个16进制的数)
    for i := 0; i < len(n); i++ {
        fmt.Printf("%X ", n[i])
    }
}