November 2017
Intermediate to advanced
670 pages
17h 35m
English
Here's an implementation for reducing a collection, using the alediaferia/go-collections package, to find the maximum value:
numbers := []interface{}{ 1, 5, 3, 2,}coll := collections.NewFromSlice(numbers)min := collections.Reduce(0, func(a, b interface{}) interface{} { if a > b { return a } else { return b }})
The Join function takes two different collections and combines them into a single, larger collection.
There are two basic types of functors in functional programming: intermediate functions and terminal functions. They work together to transform the incoming collection into either another collection or a single value. Any number of intermediate functions can be chained together followed by the terminal function.