Сериализация — преобразование объекта/структуры в формат для хранения или передачи (байты, текст). Десериализация — обратный процесс.
В Go основные форматы:
// JSON
data, _ := json.Marshal(user)
json.Unmarshal(data, &user)
// Protocol Buffers (gRPC)
data, _ := proto.Marshal(msg)
// Gob (Go-native)
gob.NewEncoder(buf).Encode(user)
JSON — человекочитаемый, универсальный. Protobuf — компактный, быстрый, со схемой. Gob — только для Go-to-Go коммуникации. Выбор зависит от задачи: API → JSON, микросервисы → Protobuf, кеш → Gob или MessagePack.