O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Functional Programming in Go

Video Description

Code less and develop applications faster in Go by applying functional programming techniques. Be productive

About This Video

  • Use effective design patterns for functional programming and learn to apply them in your applications
  • Practical approach to developing powerful applications quickly using the best Go techniques
  • Crisp and clear videos that dive right into functional programming with Go!

In Detail

Go as a language has proven to be an excellent tool for engineering large software projects. What makes Go stand out is its simplicity, productivity, and practicality when it comes to building large-scale applications. With the functional paradigm, you can do this faster, better, and effectively. This is why the time is right to go for this course.

This course immediately gets you started with Go's functional principles. Covering high-order functions, immutability, evaluation, best practices, and testing, this content-heavy course is what you need in your library right now. Start using functional programming features in the future without sacrificing readiness or code simplicity.

By the end of the course, your mind will have been opened to a new paradigm, making you a better Go programmer.

The code bundle for this video course is available at https://github.com/PacktPublishing/Functional-Programming-in-Go

Table of Contents

  1. Chapter 1 : A Quick Refresher in Go
    1. The Course Overview 00:03:25
    2. Setup and Installation 00:03:54
    3. Go Basics – Variables, Structs, and Functions 00:03:40
    4. Go Basics – Interfaces and Concurrency 00:04:04
    5. OOP Example in Go 00:04:34
  2. Chapter 2 : Higher Order Functions
    1. An Overview of HOF 00:03:55
    2. Exploring Pure Functions 00:03:48
    3. Encapsulating External State 00:03:55
    4. Understanding Closures 00:03:36
  3. Chapter 3 : Function Literals and Streams
    1. Overview of Function Literals 00:03:57
    2. Anonymous Functions 00:04:12
    3. Invoking Functions Directly 00:02:23
    4. Lambda Expressions 00:02:28
    5. Reactive Programming 00:04:26
    6. Common Methods for Streams (Map, Reduce, Filter) 00:05:28
  4. Chapter 4 : Immutability and Monads
    1. Overview of Immutability 00:03:01
    2. Immutable/Mutable Data Structures in Go 00:02:23
    3. Using const to Declare Variables 00:04:11
    4. Immutable Maps 00:03:02
    5. Immutable Structs 00:02:46
    6. Building a Named Monoid 00:02:51
  5. Chapter 5 : Lazy and Eager Evaluation
    1. Overview of Lazy and Eager Evaluation 00:04:55
    2. Using Closures 00:02:26
    3. Emulating Generators Using Channels and Routines 00:02:45
    4. Avoiding Re-Evaluation Using Sync 00:02:53
    5. Short-Circuit Evaluation 00:02:28
  6. Chapter 6 : Currying Functions in Go
    1. An Overview of Currying and Partial Functions 00:02:59
    2. Partial Functions 00:02:09
    3. An Attempt to Currying in Go 00:05:16
  7. Chapter 7 : Design Patterns
    1. Popular Design Patterns 00:03:27
    2. Exploring Monads 00:07:16
    3. Observer Pattern 00:05:27
    4. Decorator Pattern 00:04:03
  8. Chapter 8 : Testing Functions in Go
    1. Benefits of Testing FP Code 00:05:27
    2. Unit Testing 00:05:09
    3. Using httptest 00:04:56
    4. Using Testify 00:05:19