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
我正在跟随戈兰旅游,我被要求:
我首先实现了这个方法到* 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的内容,读取的字节数. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |