avivshafir / Functional-Programming-in-Go

Functional Programming in Go [Video], Published by Packt

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Functional Programming in Go [Video]

This is the code repository for Functional Programming in Go [Video], published by Packt. It contains all the supporting project files necessary to work through the video course from start to finish.

About the Video Course

Functional Programming in Go aims to demonstrate existing Go developers how to write more reliable code based on the principles of Functional Programming. We will start with a quick refresher in Go, continuing in showing the ins and outs of functions, higher order functions as well explaining the benefits of immutability, currying and design patterns with real world examples. In the end we will have a look at unit testing using error and assertion based approaches.

We will explain abstract mathematical terms like Monoids, Monads and Functors in a simple and practical way used in Programming. Besides that we will have a look at the advantages and disadvantages at all principles backed by arguments and examples.This course is ideal for anybody already familiar with Go and has used Go mostly with Object Oriented Principles in mind and would like to start building reliable, concurrent apps in Go using Functional Programming.

What You Will Learn

  • Effective ways to apply functional programming in Go
  • Write safe, error-resistant concurrent code
  • Use high-order functions
  • Build immutable data structures
  • Apply popular functional design patterns in Go 
  • Use functional Go in toy projects
  • Easily test your functional Go code
  • Use streams, closures, and monads to build functional code

Instructions and Navigation

Assumed Knowledge

To fully benefit from the coverage included in this course, you will need:
To fully benefit from the coverage included in this course, you will need:

● Prior working knowledge of Go

● (Optional) Familiar with a Functional Programming Language

Technical Requirements

This course has the following software requirements:
This course has the following software requirements:

● An editor like Atom, Sublime Text or Visual Studio Code with respective Go plugins

● An IDE like Goland

● Go - Version 1.10

This course has been tested on the following system configuration:

● OS: Ubuntu 16.04

● Processor: Intel i5 8th Gen

● Memory: 8GB

● Hard Disk Space: 200MB

● Video Card: 256MB Video Memory

Related Products

About

Functional Programming in Go [Video], Published by Packt

License:MIT License


Languages

Language:Go 100.0%