Returning a value from a lambda

The previous click listener lambda had no return type. But, what if your lambda needs to return a value? Let's write a lambda that returns a sum of two integers that are passed as arguments:

{ a: Int, b: Int -> a + b }

You probably noticed that there is no return keyword. In fact, if we declared a return keyword, we'd get a compiler error stating that return is not allowed there:

// compiler error
{
a: Int, b: Int -> return a + b }

The return keyword is not allowed and Kotlin implicitly considers the last line of a lambda as a return expression. Of course, only if the lambda signature states that there should be a return value. In a void method, like the click listener example from the beginning, the last line is not considered as a return expression.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.135.219.209