When getting in touch with Go for the first time it shows a very imperative nature. Oh, and yes, types can have methods and the concurrency is a powerful feature too. But there's another paradigm, a very old one – functional programming. Sure, Go is no functional programming language. But the functions in Go are very powerful, just to do their work, as type, as arguments or return values, for anonymous closures, and to send them over channel. Enjoy my travel through the world of Go functions.