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

Go:将数据从 io.Reader 复制到 io.Writer 实现,休眠超时,空写入

Go:将数据从 io.Reader 复制到 io.Writer 实现,休眠超时,空写入

Go
烙印99 2022-10-17 16:48:50
-编辑-这不是由拼写错误引起的,它是可重现的,这与 stackoverflow 给出的名称相反。提供的代码是专门为这个问题的独立示例而编写的(问题就在代码中,您所要做的就是运行它来重现问题......)此外,这是我遇到的确切问题,也是我在提问之前在 StackOverflow 上没有找到的确切解决方案。答案来自 IRC 上的对话,我已将解决方案转发给像我这样可能遇到同样问题的其他人。这是一个非常相关的问答,当然可以帮助未来的读者。谢谢-编辑-我正在尝试将数据从 io.Reader 实现复制到 io.Writer 实现,并在下一次迭代之前延迟(time.Sleep)。理想情况下,我想控制该过程(即 io.Copy 并不理想,因为我可能想在读取和写入之间执行一些操作)。无论如何,在下面的代码中尝试了 4 种方法,它应该在go.dev/play. 除了空字符串之外,我无法获得任何写入任何内容的方法,尽管所有写入方法确实报告了正确的写入字节数(与读取报告的相同)。我可能缺少一些基本的东西,但任何帮助/解释都非常感谢,因为我很困惑。以下代码包含 4 种不同方法的注释和函数,用于在下一次迭代之前将数据从 io.Reader 的自定义实现复制和记录到 io.Writer,并具有指定的延迟 (time.Sleep)。您可以在下面评论/取消评论所需的功能以观察结果。
查看完整描述

1 回答

?
杨魅力

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

问题出在MyReader.Read方法上

线

p = []byte(someString)

应该

read = copy(p, someString)


查看完整回答
反对 回复 2022-10-17
  • 1 回答
  • 0 关注
  • 186 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

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

帮助反馈 APP下载

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

公众号

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