Функциональное программирование на Go (Golang) — Артем Соколов — обложка книги
300 страниц
Go (Golang)
PDF
4.5

Функциональное программирование на Go (Golang)

Практическое руководство по чистым функциям, монадам и композиции в Go

Автор:

Год:

Краткое содержимое:

Эта книга — практическое руководство по внедрению парадигмы функционального программирования (ФП) в экосистему Go. В отличие от Haskell или Scala, Go не является чисто функциональным языком, но его мощные возможности (замыкания, функции первого класса, интерфейсы) позволяют успешно применять ключевые принципы ФП для создания более предсказуемого, тестируемого и параллельно-безопасного кода.

О чем книга

Книга последовательно знакомит читателя с фундаментальными концепциями ФП и показывает, как реализовать их на Go:

  • Чистые функции и иммутабельность: как избежать побочных эффектов, сделать код детерминированным и легко тестируемым.
  • Функции высшего порядка: map, filter, reduce для слайсов и каналов.
  • Замыкания и каррирование: создание фабрик функций и частичное применение аргументов.
  • Композиция функций: построение конвейеров обработки данных без вложенных вызовов.
  • Работа с ошибками через монады: альтернатива классическому if err != nil — паттерн Maybe (Option) и Either.
  • Ленивые вычисления и бесконечные последовательности: эффективная работа с большими данными.
  • Параллелизм и функциональный подход: использование каналов и горутин в функциональном стиле.

Для кого эта книга

  • Go-разработчики с опытом от 1 года, желающие писать более чистый и декларативный код.
  • Программисты, знакомые с ФП на других языках и ищущие аналогии в Go.
  • Архитекторы, стремящиеся уменьшить количество состояний и мутаций в микросервисах.

Что вы узнаете

  • Как писать функции без побочных эффектов и управлять состоянием через замыкания.
  • Как заменить циклы на рекурсию и функции высшего порядка.
  • Как строить цепочки операций с помощью композиции и паттерна «Pipeline».
  • Как обрабатывать ошибки без вложенных проверок, используя монадический подход.
  • Как проектировать API, устойчивое к изменениям и легко тестируемое.

Все примеры кода проверены на Go 1.21+ и сопровождаются тестами. Книга содержит готовые шаблоны для реальных проектов: от обработки HTTP-запросов до работы с базами данных в функциональном стиле.

Идеально подходит для тех, кто хочет выйти за рамки императивного программирования и освоить новый уровень абстракции в Go.

Рекомендаций