Local functions

Local functions are functions declared inside a function. They are also called nested functions. They are popular in scripting languages, but some other modern Object-Oriented languages, like Scala, Swift, and C# (since 7.0) also have them. One of the uses of local functions is code reuse. You can extract a piece of code that is repeated inside a local function so the code can be reused:

fun printUserDetails(user: User) {
fun tryPrint(str: String) {
if (str.length > 5) {
println(str)
}
else {
println("I print strings with more than 5 characters")
}
}
tryPrint(user.firstName)
tryPrint(user.lastName)
tryPrint(user.address)
}

You can see how the function tryPrint is declared inside the printUserDetails function.  We can call the nested function just as we would a normal function. The only difference between this and regular functions is the visibility. Local functions are only visible inside the function they were declared in. You cannot call a local function from a function that doesn't contain it.

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

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