我具有以下函数来压缩字节数组:

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的错。看来,我使用的终端模拟器(终止符)没有正确刷新。使用其他终端仿真器,我无法重现该错误。

08-19 17:01