O'Reilly logo

Learning Go Programming by Vladimir Vivien

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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 ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required