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

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

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

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

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

Go на Форум

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

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

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.

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

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