Function literals, Monads, Lazy evaluation, Currying, and more About This Book • Write concise and maintainable code with streams and high-order functions • Understand the benefits of currying your Golang functions • Learn the most effective design patterns for functional programming and learn when to apply each of them • Build distributed MapReduce solutions using Go Who This Book Is For This book is for Golang developers comfortable with OOP and interested in learning how to apply the functional paradigm to create robust and testable apps. Prior programming experience with Go would be helpful, but not mandatory. What You Will Learn • Learn how to compose reliable applications using high-order functions • Explore techniques to eliminate side-effects using FP techniques such as currying • Use first-class functions to implement pure functions • Understand how to implement a lambda expression in Go • Compose a working application using the decorator pattern • Create faster programs