为什么说 incorrect when p is too small
来源:7-2 函数式编程例一

LichFaker123
2018-02-24
在这章最后为什么说“incorrect when p is too small”,我把字符串弄的很大也没有出现老师说的这个问题。
还有默认p []byte的大小是多少?
还有最后老师说的解决方案是什么,没太听明白
写回答
1回答
-
抱歉节日期间网络不好没有及时回复。
由于这些不是主线,所以的确讲的简单了点。这里我再详细说一下,并附上代码。
p is too small是指p这个[]byte长度太短。后期我们输出比如1597,2584这样的数,如果p的长度不够4~5字节,那就只能输出一半。默认的大小根据使用的api不同有所不一样,不过一般不会那么短。这里我们要手动的去读。比如:
注意这里每次只读两字节,就挂了:
注意13后面的换行没了,然后89之后应该是是144,233,这里只有1423,每次只读两个字节的缘故。
修改的话只能加一个缓冲区把输出数据缓存下来。bytes.Buffer可以做这件事。
这样的话,我外面读的时候即使缓冲区开的很小也可以读正确。
532019-11-22
相似问题