Chapter 8. Higher-order functions: lambdas as parameters and return values
This chapter covers
- Function types
- Higher-order functions and their use for structuring code
- Inline functions
- Non-local returns and labels
- Anonymous functions
You were introduced to lambdas in chapter 5, where we explored the general concept and the standard library functions that use lambdas. Lambdas are a great tool for building abstractions, and of course their power isn’t restricted to collections and other classes in the standard library. In this chapter, you’ll learn how to create higher-order functions—your own functions that take lambdas as arguments or return them. You’ll see how higher-order functions can help simplify your code, remove code duplication, and build nice abstractions. You’ll also become acquainted with inline functions—a powerful Kotlin feature that removes the performance overhead associated with using lambdas and enables more flexible control flow within lambdas.