小编Mik*_*ets的帖子

Go bufio ReadString 循环无限

我有下一个代码:

resp, err := http.Get("https://www.google.com")

if err != nil{
    panic(err)
}

r := bufio.NewReader(resp.Body)

for v, e := r.ReadString('\n'); e == nil; {
    fmt.Println(v)
}
Run Code Online (Sandbox Code Playgroud)

所以,我想循环读取响应主体,但读者无限r读取第一行Body。

与此同时,这段代码运行良好:

v, e := r.ReadString('\n')
for e == nil {
    fmt.Println(v)
    v, e = r.ReadString('\n')
}
Run Code Online (Sandbox Code Playgroud)

有人可以解释为什么第一个解决方案有这样的行为吗?

go

-1
推荐指数
1
解决办法
1万
查看次数

标签 统计

go ×1