- Learning Functional Programming in Go
- Lex Sheehan
- 94字
- 2025-02-27 05:14:35
Go's complimentary Reader and Writer interfaces
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.