The io.Reader interface

The io.Reader interface, as shown in the following listing, is simple. It consists of a single method, Read([]byte)(int, error), intended to let programmers implement code that reads data, from an arbitrary source, and transfers it into the provided slice of bytes.

type Reader interface { 
        Read(p []byte) (n int, err error) 
} 

The Read method returns the total number of bytes transferred into the provided slice and an error value (if necessary). As a guideline, implementations of the io.Reader should return an error value of io.EOF when the reader has no more data to transfer into stream p. The following shows the type alphaReader, a trivial implementation of the io.Reader that filters out non-alpha characters from its string ...

Get Learning Go Programming now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.