Я следил за голанг-туром, и меня попросили:
Внедрите rot13Reader, который реализует io.Reader и читает из io.Reader, изменяя поток, применяя шифр замещения ROT13 ко всем алфавитным символам.
Я впервые применил метод к * rot13Reader
type rot13Reader struct {
r io.Reader
}
func (r *rot13Reader) Read(p []byte) (n int, e error){
}
Однако я не могу обойти этот метод чтения.
Включает ли p
все прочитанные байты? И, следовательно, все, что мне нужно сделать, это перебрать их и применить подстановку ROT13?
Я понимаю, что он должен вернуть количество прочитанных байтов и ошибку EOF в конце файла, однако я не уверен, когда и как этот метод вызывается. Итак, вернувшись к моему первоначальному вопросу, p
содержит все прочитанные данные? Если нет, то как я могу добраться до него?