Помимо хорошо известных JSON и XML, Go также предлагает бинарный формат — gob. В данной инструкции описывается базовый концепт использования пакета gob из encoding.

Как сериализовать структуру в бинарный формат gob?

1. Создайте файл gob.go со следующим содержимым:

Форум Гоферов

Мы работаем над форумом для программистов на Golang. Очень нужны модераторы которые хотят помочь с ответами для новичков и помочь в развитии Go-сообщества.

Go на Форум

Уроки, статьи и Видео

Мы публикуем в паблике ВК и Telegram качественные обучающие материалы для быстрого изучения Go. Подпишитесь на нас в ВК и в Telegram. Поддержите сообщество Go программистов.

Go в ВК Go в Telegram

2. Запустите код через go run gob.go;
3. Посмотрите на результат в терминале:

Пакет encoding/gob для сериализации данных в бинарный формат

Для сериализации и десериализации бинарных данных gob нужен энкодер и декодер. Функция gob.NewEncoder создает Encoder с базовым Writer. Каждый вызов метода Encode сериализует объект в бинарный формат gob. Формат gob является самоописывающим бинарным форматом. Это значит, что перед каждой сериализованной структурой есть ее описание.

Для декодирования данных из сериализированной формы, декодер должен создаваться через вызов gob.NewDecoder с базовым Reader. Затем метод Decode принимает указатель на структуру, куда нужно десериализировать данные.

Обратите внимание, что бинарный формат gob не требует, чтобы тип источника и тип назначения совпадали.

Понравилась статья?

Поддержи наш проект, чтобы мы могли создать больше хорошего контента!