Go implements OOP slightly differently than other
languages. Functions are defined on an interface,
not a class or subclass.
This is not quite correct. Functions are defined on concrete types. Interfaces are named collections of functions, used to describe behavior.