A Practical Guide to Interfaces in Golang
Too Long; Didn't Read
An interface is a set of method signatures that a type can implement. The interface defines the behaviors of an object (any kind of object) in Go. Go has static typing, which means that any variable in a program's life cycle has only one type (built-in or custom) Unlike Python, a variable can change its type only by reassigning it with a new value. Go can imitate the dynamic typing of Python and can change the variable from one type to another in a single program.