ZIP является популярным форматом архивации сжатых данных. Обычно ZIP используется, когда приложению нужно загрузить набор файлов или когда нужно экспортировать добавленные в zip-архив файлы в качестве вывода. В данной инструкции показано, как работать с ZIP архивами, используя стандартную библиотеку Go.

Создаем ZIP архив в Golang

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

Премиум 👑 канал по Golang

Рекомендуем вам супер TELEGRAM канал по Golang где собраны все материалы для качественного изучения языка. Удивите всех своими знаниями на собеседовании! 😎

Подписаться на канал

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

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

Go в ВК ЧАТ в Telegram

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

Как прочесть содержимое ZIP архива в Golang?

Встроенный пакет zip содержит функции NewWriter для сжатия данных, а также zip.Reader для распаковывания сжатого содержимого. Каждая запись в ZIP архив выполняется при помощи метода Create созданного zip.Writer. Возвращаемый Writer затем используется для записи данных.

Для распаковки файлов из zip архива используется функция OpenReader для создания экземпляра ReadCloser для каждой записи из архива. Поле File созданного ReaderCloser является срезом от zip.File. Содержимое файла можно получить через вызов метода Open и через чтение возвратившегося ReadCloser.

На заметку: Папки можно создать через добавление слеша / к названию файла в методе Create. Например, так folder/newfile.txt.