go语言uint32 Go语言设计与实现

Go语言中的字节序Go中的binary包实现了简单的数字与字节序列的转换以及变长值的编解码
package main
import ( "fmt" "bytes" "encoding/binary" ) func main(){ n := 0x12345678 bytesBuffer := bytes.NewBuffer([]byte{}) //BigEndian 大端顺序存储 LittleEndian小端顺序存储 binary.Write(bytesBuffer, binary.BigEndian, int32(n)) data:=bytesBuffer.Bytes() fmt.Printf("[0]: %#x addr:%#x\n",data[0],data[0]) fmt.Printf("[0]: %#x addr:%#x\n",data[1],data[1]) fmt.Printf("[0]: %#x addr:%#x\n",data[2],data[2]) fmt.Printf("[0]: %#x addr:%#x\n",data[3],data[3]) }
输出
[0]: 0x12 addr:0xc042010248 [1]: 0x34 addr:0xc042010249 [2]: 0x56 addr:0xc04201024a [3]: 0x78 addr:0xc04201024b
也可以使用下面的方式
n := 0x12345678 var data []byte = make([]byte,4) //操作的都是无符号整型 binary.BigEndian.PutUint32(data,uint32(n))
可以使用下面的方式判断当前系统的字节序类型
const INT_SIZE int = int(unsafe.Sizeof(0))
//判断我们系统中的字节序类型 func systemEdian() { var i int = 0x1 bs := (*[INT_SIZE]byte)(unsafe.Pointer(i)) if bs[0] == 0 { fmt.Println("system edian is little endian") } else { fmt.Println("system edian is big endian") } }
golang原生数据类型golang原生数据类型:
按长度:int8(-128-127)、int16、int32、int64 。
无符号整型:uint8(0-255)、uint16、uint32、uint64 。
int:32位操作系统上就是int32,64位操作系统上就是int64 。
uint:32位操作系统上就是uint32 , 64位操作系统上就是uint64 。
含义
Golang的引用类型包括slice、map和channel 。它们有复杂的内部结构,除了申请内存外,还需要初始化相关属性 。对于引用类型,变量存储的是一个地址,这个地址存储最终的值 。内存通常在堆上分配,通过GC回收 。获取指针类型所指向的值,使用:"*"取值符号 。比如:var*pint,使用*p获取p指向的值 。
Golang的数据类型1.按长度:int8(-128-127)、int16、int32、int64
2.无符号整型:uint8(0-255)、uint16、uint32、uint64
int:32位操作系统上就是int32go语言uint32 , 64位操作系统上就是int64
uint: 32位操作系统上就是uint32go语言uint32,64位操作系统上就是uint64
float32float64
complex64和complex128
bool
string
byte和rune
【go语言uint32 Go语言设计与实现】关于go语言uint32和Go语言设计与实现的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息 , 记得收藏关注本站 。

    推荐阅读