November 2017
Intermediate to advanced
670 pages
17h 35m
English
To help us appreciate how Go encourages composition, let's look at Go's complimentary Reader and Writer interfaces:
type Reader interface { Read(p []byte) (n int, err error)}type Writer interface { Write(p []byte) (n int, err error)}
What can we observe from these interface declarations? Simplicity.
They both have a single method that takes a single parameter and returns a single result (along with the requisite error value).
What does that buy us? For starters, we can compose broad interfaces by simply adding simpler interfaces.