So far in this chapter, we have already seen how to pass functions as parameters. The ways we have done this up until now are either by creating a function literal or by using a function that returns another function.
Function references
Top-level function references
But what if we have a top-level function and we want to use that? We can wrap the function in another function, of course:
fun isEven(k: Int): Boolean = k % 2 == 0 val ints = listOf(1, 2, 3, 4, 5) ints.filter { isEven(it) }
The alternative is to use what is called a function reference. Using the same definition for isEven, we can write it as follows:
val ints = listOf(1, 2, 3, 4, 5) ints.filter(::isEven)
Note that the :: syntax is used...