为了账号安全,请及时绑定邮箱和手机立即绑定

去检查bufio阅读器是否为空

去检查bufio阅读器是否为空

Go
呼啦一阵风 2022-06-01 11:24:01
var r bufio.Reader如何检查是否r没有更多数据(为空、已耗尽)?我知道这可能需要阻止,直到知道该信息为止。谷歌搜索找不到任何东西。我认为该Peek函数对于查看是否有更多数据很有用,但这似乎只能查看底层缓冲区(如果存在)。我也可以尝试Read一个字节然后调用UnreadByte,但这非常混乱和不清楚,有没有更好的选择?
查看完整描述

2 回答

?
慕丝7291255

TA贡献1859条经验 获得超6个赞

如果r.Peek(1)返回数据,则下一次调用Read将返回数据。

如果缓冲区中没有数据,则Peek调用底层读取器并将阻塞直到数据可用或出现错误。


查看完整回答
反对 回复 2022-06-01
?
弑天下

TA贡献1818条经验 获得超8个赞

如果我正确理解你的问题,这会起作用吗?


// func (*Reader) Size() int

// Size returns the size of the underlying buffer in bytes.

size := r.Size()


// func (*Reader) Buffered() int

// Buffered returns the number of bytes that can be read from the current buffer

buffered := r.Buffered()


查看完整回答
反对 回复 2022-06-01
  • 2 回答
  • 0 关注
  • 133 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号