现有如下例子
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是大端模式") } }
GO
Почувствуй себя настоящим пин-ап
cassino brasil [url=pinupcasinojenzolo.com]pinupcasinojenzolo.com[/url].