我使用 golanggzip.NewWriter
压缩切片?并defer Close()
关闭编写器。但是当从压缩数据中读取时,它会返回unexpected EOF
. 代码是:
func main() {
a := []byte{'a', 'b', 'c', 'd', 'e', 'f'}
zippedData, err := zipData(a)
if err != nil {
panic(err)
}
unzippedData, err := unzipData(zippedData)
if err != nil {
panic(err)
}
fmt.Printf("%v\n", unzippedData)
}
Run Code Online (Sandbox Code Playgroud)
zip 函数是:
func zipData(originData []byte) ([]byte, error) {
var bf bytes.Buffer
gw := gzip.NewWriter(&bf)
defer gw.Close()
_, err := gw.Write(originData)
if err != nil {
return nil, errors.New(fmt.Sprintf("gzip data err: %v", err))
} …
Run Code Online (Sandbox Code Playgroud) go ×1