Functional Programming in Golang: Apply functional techniques in Go to improve the testability, readability, and security of your code

Functional Programming in Golang: Apply functional techniques in Go to improve the testability, readability, and security of your code

English | 2023 | ISBN: 978-1801811163 | 274 Pages | PDF, EPUB | 18 MB

Learn how to leverage core functional programming (FP) concepts to write more maintainable and testable code in Go.

Key Features

  • Learn functional programming techniques at the architectural level, and use the lessons learned to solve real-world problems.
  • Get a deeper understanding of how to think functionally about code.
  • Go is a multi-paradigm language, learn about the tradeoffs of FP and OOP.

In “Functional Programming with Go”, you will learn the essential concepts of functional programming. Go is a multi-paradigm language that gives us the option to choose whichever paradigm works best for the particular problem we aim to solve. In this book, you will learn concepts central to the functional programming paradigm and how to leverage them to improve your Go codebases.

The book starts by explaining common concepts of functional programming and how to apply these to your codebase, even if you don’t fully buy into the functional mindset. The subsequent chapters of the book will build out a more comprehensive view of techniques and methods used in functional languages, such as Function Currying and Partial Application. We will develop this further into functional design patterns. Examples will be given throughout the book to show each concept “in action”.

By the end of this book, not only will you know how to apply these techniques in Go, but you will also know when to apply them.

What you will learn

  • Learn how to think functionally about your code
  • Learn about core FP concepts and how they apply to Go code
  • Understand how FP can improve the testability of your codebase
  • Learn functional design patterns
  • Understand when to choose and not choose FP concepts
  • Get a deeper understanding of functional programming
Homepage