Go has the idea of an interface, which is a similar idea to Java's: a list of operations. It can represent any type (often a struct) which has (at least) that set of methods. An interface may be empty, where it can represent anything, a bit like a Java Object.
Video lecture: Interfaces download