- Learning Functional Programming in Go
- Lex Sheehan
- 140字
- 2025-02-27 05:14:32
Various intermediate and terminal functions
Look at the various intermediate and terminal functions in the following functor diagram. They are all functors. When a function, for example, Map, is provided with a set of values as input, it will apply a transformation on the elements and produce output that will be a different set of values.
In functional programming, given the same input, a given function will always return the same result set.

In the first row of preceding functors, Map and Sort, take a collection, transform it in some way, and return a collection of equal size.
In the second row of functors, Filter and GroupBy, take a collection and transform it into another collection of smaller size.
In the third row, Reduce takes a collection, performs computations over its elements, and returns a single result value.