binary序列化与反序列化

binary

性能一般,使用简单,适合定长的数据,例如bool, int8, uint8, int16, float32, complex64, ...或者数组、包含定长成员变量的结构体。

有性能需求建议使用protocol buffer

性能比较:protocol buffer > binary > gob > json

序列化

	var n uint64
	n = 500
	buf := bytes.NewBuffer(nil)
	err := binary.Write(buf, binary.LittleEndian, n)
	if err != nil {
		fmt.Println(err)

	}
	fmt.Println(buf.Bytes())

反序列化

	var sn uint64
	r := bytes.NewReader(buf.Bytes())
	err = binary.Read(r, binary.LittleEndian, &sn)
	if err != nil {
		fmt.Println(err)
	}
	fmt.Println(sn)

你可能感兴趣的:(golang序列化与反序列化)