文档

archive/zip是golang内置的模块,不需要额外安装

代码示例

package main

import (
    "archive/zip"
    "bytes"
    "io"
    "os"
)

func main() {
    // 创建一个缓冲区来存储ZIP文件的内容
    buf := new(bytes.Buffer)

    // 创建一个新的ZIP文件
    w := zip.NewWriter(buf)

    // 添加文件到ZIP文件中
    f, _ := w.Create("readme.txt")

    f.Write([]byte("This archive contains some text files."))

    // 关闭ZIP文件
    w.Close()

    // 将ZIP文件内容写入磁盘
    file, _ := os.Create("example.zip")

    defer file.Close()

    io.Copy(file, buf)
}

参考
Go实验室:每周一更|archive/zip |轻松搞定golang中的文件压缩