加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

io – 读取器界面和读取方法在golang

发布时间:2020-12-16 19:29:08 所属栏目:大数据 来源:网络整理
导读:我正在跟随戈兰旅游,我被要求: Implement a rot13Reader that implements io.Reader and reads from an io.Reader,modifying the stream by applying the ROT13 substitution cipher to all alphabetical characters. 我首先实现了这个方法到* rot13Reader
我正在跟随戈兰旅游,我被要求:

Implement a rot13Reader that implements io.Reader and reads from an io.Reader,modifying the stream by applying the ROT13 substitution cipher to all alphabetical characters.

我首先实现了这个方法到* rot13Reader

type rot13Reader struct {
    r io.Reader
}

func (r *rot13Reader) Read(p []byte) (n int,e error){


}

但是,我不知道这个Read方法.

p包含读取的所有字节吗?所以我应该做的是迭代它们并应用ROT13替代?

我知道它应该返回读取的字节数和文件末尾的EOF错误,但是我不知道这个方法被调用的时间和方式.所以回到我原来的问题,p包含所有的数据?如果不是,那我该怎么办呢?

你应该扫描和“rot13”只有n个字节(由rot13Reader中的io.Reader读取的字节).
func (r *rot13Reader) Read(p []byte) (n int,e error){
    n,err = r.r.Read(p)
    for i:=range(p[:n]) {
       p[i]=rot13(p[i])
    }
    return
}

rot13Reader封装任何读写器,并在所述封装的Reader上调用Read.它返回rot13的内容,读取的字节数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读