stavo seguendo il tour golang e mi è stato chiesto di:interfaccia Reader e il metodo Read in golang
Implementare una rot13Reader che implementa io.Reader e legge da un io.Reader, modificando il flusso da applicando il codice di sostituzione ROT13 a tutti i caratteri alfabetici.
ho implementato il metodo per l'* rot13Reader
type rot13Reader struct {
r io.Reader
}
func (r *rot13Reader) Read(p []byte) (n int, e error){
}
Tuttavia non posso ottenere la mia testa intorno a questo metodo Read.
Il p
contiene tutti i byte letti? E quindi tutto ciò che dovrei fare è iterare su di loro e applicare la sostituzione ROT13?
Capisco che dovrebbe restituire il numero di byte letti e un errore EOF alla fine del file, ma non sono sicuro di quando e come questo metodo viene chiamato. Tornando alla mia domanda iniziale, lo p
contiene tutti i dati letti? Se no, allora come posso arrivarci?
@Bula Ho modificato la risposta: era il nome del ricevitore 'rot13Reader'. L'ho cambiato in 'r', ma è meno chiaro, dato che' r' è * anche * il nome di 'io.Reader' all'interno della struttura' rot13Reader'. – VonC