go语言中如何把数字转换成字节切片并在网络中传输
客户端:
先把数字转换成uint32类型:
var pkgLen = uint32(len(data))
再定义一个字节切片:
var buf = make([]byte, 4)
最后通过encoding.binary包中的方法,把无符号数字装载到字节切片中:
binary.BigEndian.PutUint32(buf[0:4], pkgLen)
这样就可以在网络中发送数字了:
conn.Write(buf)
服务端:
解析的时候
//读取数据 conn.Read(buffer[:4]) //把读取到的字节切片转换成无符号的32位整数 len32 := binary.BigEndian.Uint32(buffer[0:4]) //把32位无符号数字转换成整数 pkgLen = int(len32)