Go is a statically-typed language with a strong emphasis on simplicity, efficiency, and readability. One of the key features of Go is its ability to define and use interfaces, which provide a way to specify the behavior of an object without requiring a specific implementation. An interface is a defined set of method signatures - that is, it lets us know what methods must exist for a certain type. If you come from the OOP world this may be familiar to you where interfaces can define what methods a class must have.