现有如下例子

package main

import (
    "fmt"
    "unsafe"
)

// 大端与小端的简单实现
func main() {
    var x int = 0x12345678                   //定义一个int类型的数据
    const size int = int(unsafe.Sizeof(x))   //获取x的长度存到常量size中
    tmp := (*[size]byte)(unsafe.Pointer(&x)) //tmp为*[]byte类型,此处size必须是const
    fmt.Printf("%T\n", tmp)                  //打印类型=>>*[8]uint8
    fmt.Println(*tmp)                        //打印值=>>[120 86 52 18 0 0 0 0]
    //打印存储地址
    fmt.Println(&tmp[0]) //=>>0xc0000ac008
    fmt.Println(&tmp[1]) //=>>0xc0000ac009
    fmt.Println(&tmp[2]) //=>>0xc0000ac00a
    fmt.Println(&tmp[3]) //=>>0xc0000ac00b
    //判断本机是大端还是小端模式
    if tmp[0] == 0x78 {
        //tmp[0]如果存放的是0x78,就是数据低位放于内存低位,属于小端模式
        fmt.Println("MacOS是小端模式")
    } else {
        fmt.Println("MacOS是大端模式")
    }
}