文档
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中的文件压缩