archive/zip

Compression
import "archive/zip"

Provides support for reading and writing ZIP archives.

Example

package main

import (
    "archive/zip"
    "os"
)

func main() {
    f, _ := os.Create("test.zip")
    w := zip.NewWriter(f)
    fw, _ := w.Create("hello.txt")
    fw.Write([]byte("Hello!"))
    w.Close()
}

Key Types & Functions

ReaderWriterFileNewReaderNewWriterCreate

About archive/zip

The archive/zip package (imported as archive/zip) belongs to the Compression category of Go packages. Provides support for reading and writing ZIP archives.

Go's standard library is one of the language's greatest strengths, providing production-ready implementations for networking, cryptography, encoding, I/O, and more. The archive/zip package follows Go's philosophy of simplicity and composability — small, focused packages that combine through interfaces like io.Reader and io.Writer.

When using archive/zip in production, follow Go best practices: handle errors explicitly, use context for cancellation and timeouts, prefer composition over inheritance, and write table-driven tests. The Go documentation at pkg.go.dev provides comprehensive API references and examples for every exported type and function.

Related Packages