Summary
In this chapter, we saw three categories of functions that will help us functionally build our programs. First, we saw predicate-based functions, which can either filter our data into a subset meeting a requirement or tell us whether or not the data in our dataset entirely or partially matches a condition. Next, we saw how data can be changed functionally, ways of transforming data whereby our data type is guaranteed to remain the same, and functions in which we are also changing the type itself.
Finally, we looked at reducer functions, which take a list of elements and reduce them into a single value. We have demonstrated how these three types of functions can be combined in the airport data example.
In the next chapter, we will dive into recursion and see how this plays a role in functional programming, as well as what the performance implications are for writing recursive functions in Go.