Functional Programming with Go: Functional design and implementation in Go (English Edition)

· BPB Publications
Ebook
270
Pages

About this ebook

Crafting elegant and efficient solutions!


KEY FEATURES  

● Learn core functional programming (FP) concepts and their advantages for Go development.

● Implement practical techniques like closures, higher-order functions, and function currying for powerful codes.

● Write clean and maintainable code using immutability and pure functions.


DESCRIPTION 

"Functional Programming with Go" is a comprehensive guide to introduce Go developers to the powerful concepts of functional programming. This book covers topics like first-class functions, closures, higher-order functions, immutability, and pure functions. It also demonstrates how these principles can enhance code quality, reliability, and maintainability.


Starting with functional programming basics and setup, it covers first-class functions, closures, and higher-order functions like map, filter, and reduce. You will learn advanced techniques like currying, immutability, and functional error handling with monads. The book also explores concurrent programming with FP in Go, design patterns, functional web development, testing, debugging, and advanced topics like memoization.


This book equips you with the knowledge and skills needed to write efficient, scalable, and robust Go applications. By the end of this book, you will have the knowledge and skills to apply functional programming principles in Go.


WHAT YOU WILL LEARN

● Applying functional programming concepts to enhance code quality.

● Leveraging higher-order functions and closures for flexible code.

● Implementing advanced techniques like function currying and partial application.

● Writing pure functions and using immutable data structures in Go.

● Handling errors efficiently using monads and functional techniques.

● Designing concurrent systems with goroutines and channels in Go.


WHO THIS BOOK IS FOR

This book is designed for Go developers who want to enhance their skills in functional programming. It is also suitable for programmers with a basic understanding of Go.


TABLE OF CONTENTS

1. Introduction to Functional Programming

2. First-Class Functions and Closures

3. Higher-Order Functions

4. Function Currying and Partial Application

5. Immutability and Pure Functions

6. Error Handling in Functional Go

7. Concurrency in a Functional Style

8. Functional Design Patterns

9. Functional Web Development with Go

10. Functional Testing and Debugging

11. Beyond the Basics: Advanced Functional Go

12. Conclusion and Next Steps

Discover more

About the author

Amrit Pal Singh is currently serving as Senior Director of Cloud Software at Caavo, based in Bengaluru, India. With a career spanning over 19 years, he has extensive experience in various domains. These include high-performance web backend platforms, cloud services deployment, media middleware, and firmware development.

Amrit holds a Master’s degree in Software Systems from Birla Institute of Technology and Science, Pilani. He has authored patents in the fields of media content management and search, which demonstrate his innovative contributions to the industry. In addition to his technical roles, Amrit is an active content creator on YouTube, where he shares insights on technology and software programming. His areas of interest include product development, system software and firmware, web-scale cloud computing system architectures, machine learning, and AI.

Rate this ebook

Tell us what you think.

Reading information

Smartphones and tablets
Install the Google Play Books app for Android and iPad/iPhone. It syncs automatically with your account and allows you to read online or offline wherever you are.
Laptops and computers
You can listen to audiobooks purchased on Google Play using your computer's web browser.
eReaders and other devices
To read on e-ink devices like Kobo eReaders, you'll need to download a file and transfer it to your device. Follow the detailed Help Center instructions to transfer the files to supported eReaders.