我正在玩 Golang tour,我想知道为什么使用裸返回给我正确的结果,而正常的却没有。这是我遇到这个问题https://tour.golang.org/methods/12的练习。
目标是创建一个可以破译 rot13 的阅读器。并且 rot13 功能已经过测试。
func (r rot13Reader) Read(b []byte) (n int, err error) {
n, err = r.r.Read(b)
for i, v := range b {
b[i] = rot13(v)
}
return
}
上面的代码给了我正确的结果。
func (r rot13Reader) Read(b []byte) (int, error) {
for i, v := range b {
b[i] = rot13(v)
}
return r.r.Read(b)
}
这不会改变输入流的任何内容。
有人能解释一下为什么吗?先感谢您。
守候你守候我
慕斯王
相关分类