我具有以下函数来压缩字节数组:
func compress(input []byte) []byte {
var buf bytes.Buffer
compr := gzip.NewWriter(&buf)
compr.Write(input) // here it appears to hang until
// Enter is pressed
compr.Close()
output := buf.Bytes()
return output
}
有时,该功能将挂起。当我按[Enter]键时,该功能将继续并返回预期结果。我在这里想念什么吗?
即使给出相同的输入,它也会挂五分之一。无论我使用gzip还是zlib,都没有关系。
我在Linux x86_64上使用go 1.6
最佳答案
这不是代码或golang的错。看来,我使用的终端模拟器(终止符)没有正确刷新。使用其他终端仿真器,我无法重现该错误。