使用“compress/gzip”包来压缩文件
在 Go 中处理二进制文件可能具有挑战性,尤其是在处理压缩时格式。 “compress/gzip”包为 GZIP 压缩和解压缩提供了简单的解决方案。
压缩文件
要将文件压缩为 GZIP 格式,您可以使用gzip.NewWriter 函数。下面是演示如何执行此操作的代码片段:
package main import ( "bytes" "compress/gzip" "os" ) func main() { var b bytes.Buffer w := gzip.NewWriter(&b) w.Write([]byte("hello, world\n")) w.Close() // The compressed content is now available in the 'b' buffer. }
解压缩文件
要解压缩 GZIP 文件,您可以使用 gzip.NewReader 函数。以下代码展示了如何操作:
package main import ( "compress/gzip" "io" "os" ) func main() { var b bytes.Buffer // Assume you have the compressed content in the 'b' buffer. r, err := gzip.NewReader(&b) if err != nil { panic(err) } defer r.Close() io.Copy(os.Stdout, r) }
通过实现这些技术,您可以在 Go 程序中无缝处理 GZIP 压缩和解压缩。
以上是Go 的 compress/gzip 如何高效打包 Gzip 和 Ungzip 文件?的详细内容。更多信息请关注PHP中文网其他相关文章!