ADVERTISEMENT
Google AdSense Slot (headerLeaderboard)

Set your Publisher ID in src/config/ads.ts to display live ads.

Kotlin Tutorial• 6 min read

Functions, Lambdas & Default Arguments

Single-expression functions, named arguments, and trailing lambda syntax

Functions are first-class citizens in Kotlin, featuring concise single-expression syntax, named arguments, and trailing lambda conventions.

Modern Functional Capabilities

Single-Expression: fun add(a: Int, b: Int): Int = a + b.

Default Arguments: Parameters can specify default values, eliminating the need to write 10 overloaded methods like in Java.

Trailing Lambda: If the last parameter of a function is a lambda, it can be passed outside the parentheses: button.setOnClickListener { ... }.

Default Arguments and Named Parameters
fun createButton(
    title: String,
    width: Int = 120,
    height: Int = 40,
    isEnabled: Boolean = true
) {
    println("Button '$title': ${width}x$height, Enabled: $isEnabled")
}

// Call using defaults
createButton("Submit")

// Call overriding specific parameter using named arguments
createButton("Cancel", isEnabled = false)
Named arguments make call sites self-documenting.
ADVERTISEMENT
Google AdSense Slot (inContentBanner)

Set your Publisher ID in src/config/ads.ts to display live ads.

Test Yourself With Exercise

+15 XP

What is a major advantage of default parameter arguments in Kotlin functions?