英文:
golang: gzip or zlib compression of byte array sporadically hangs
问题
我有以下函数来压缩一个字节数组:
func compress(input []byte) []byte {
var buf bytes.Buffer
compr := gzip.NewWriter(&buf)
compr.Write(input) // 在这里它似乎会挂起,直到按下回车键
compr.Close()
output := buf.Bytes()
return output
}
这个函数偶尔会挂起。当我按下[Enter]键时,函数会继续执行并返回预期的结果。我在这里漏掉了什么吗?
即使给出相同的输入,它也会大约五次中有一次挂起。无论我使用gzip还是zlib,都没有关系。
我在Linux x86_64上使用go 1.6。
英文:
I have the following function to compress a byte array:
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
}
Sporadically the function will hang. When I press [Enter] the function will continue and return the expected result. Am I missing something here?
It will hang about one times out of five, even when the same input is given. Whether I use gzip or zlib, it doesn't matter.
I am using go 1.6 on Linux x86_64
答案1
得分: 2
这不是代码或者Golang的问题。我使用的终端仿真器(terminator)似乎没有正确刷新。使用另一个终端仿真器,我无法重现这个错误。
英文:
It was not the code's or golang's fault. The terminal emulator I used (terminator) did not refresh properly, it seems. Using a different terminal emulator I could not reproduce the error.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论