关于peek的问题

来源:15-6 测试CityListParser

钧一十一

2021-11-08

bufio.NewReader(resp.Body).Peek(1024) 和
buffReader := bufio.NewReader(resp.Body)
r.Peek(1024)
没有区别,是不是编译器对第一种优化了直接从原reader里面去读了1024

写回答

1回答

ccmouse

2021-11-10

没有区别也没有优化。就是代码的不同。

bufio.NewReader(resp.Body).Peek(1024) ,你拿到的是1024个字节的值,但它生成的bufio.Reader你没有拿到,所以无法进行后续的读取。

buffReader := bufio.NewReader(resp.Body)
bufReader.Peek(1024)

这个你又有1024个字节,又可以通过bufReader进行后续的读取。

0
0

Google资深工程师深度讲解Go语言 由浅入深掌握Go语言

语法+分布式爬虫实战 为转型工程师量身打造

5995 学习 · 1909 问题

查看课程