Go: The price of interface{}
darkcoding.net
Go’s empty interface{} is the interface that everything implements. It allows functions that can be passed any type. The function func f(any interface{}) can be called with a string f("a string"), an integer f(42), a custom type, or anything else. This flexibility comes at a cost.