Как работает binary.Read/Write?

Middle
290 просмотров
AFK Offer AI

encoding/binary — пакет для чтения/записи бинарных данных. binary.Write(w, binary.LittleEndian, &myStruct) сериализует структуру побайтово в writer, binary.Read(r, binary.LittleEndian, &myStruct) — обратно. Работает только с fixed-size типами (int32, float64, [N]byte), нельзя string или slice. Второй аргумент — byte order (LittleEndian/BigEndian). Для сетевых протоколов обычно BigEndian. Для ручного контроля есть binary.PutUint32, binary.Uint32 — работают со слайсом байтов напрямую. Быстрее reflect-based serialization, идеален для бинарных протоколов.

Следующий вопрос

Как написать generic функцию?