November 2017
Intermediate to advanced
670 pages
17h 35m
English
Let's take a journey from imperative to a pure functional way of programming a sum function. First, let's look at the imperative sum function:
func SumLoop(nums []int) int { sum := 0 for _, num := range nums { sum += num } return sum}
The integer variable sum changes or mutates over time; sum is not immutable. There are no for loops or mutating variables in pure FP.
So, how can we iterate through a series of elements using pure FP? We can do this using recursion.
Note that Go does have constants, but they differ from immutable variables in that values are assigned to constants at ...