Interfaces are abstraction types that define a set of methods and their signatures without providing any implementation — think of them as a contract your module should follow. In this screencast, I show how to use them in Go to create decoupled modules that are easy to test, refactor, and extend.
The code is available on GitHub.
