我在使用tour.golang.org/methods/23时遇到了一些问题
package main
import (
"io"
"os"
"strings"
)
type rot13Reader struct {
r io.Reader
}
func (r rot13Reader) Read(s []byte) (int, error) {
a, e := r.r.Read(s)
for i := 0; i < a; i++ {
if(s[i] >= 'a') {
s[i] = ((s[i] - 'a') + 13) % 26 + 'a'
}
if(s[i] >= 'A') {
s[i] = ((s[i] - 'A') + 13) % 26 + 'A'
}
}
return a, e
}
func main() {
s := strings.NewReader("Lbh penpxrq gur pbqr!")
r := rot13Reader{s}
io.Copy(os.Stdout, &r)
}
我先添加然后修改,但在考虑了小写和大写 ascii 代码之间的差距后,结果看起来不太正确
YHN VKTVDXW MAX VHWX!
神不在的星期二
白衣非少年
慕斯王
相关分类