Kotlin Default Arguments — Parameters with Default Values
Default arguments let you define preset values for function parameters. Callers can skip those parameters and use the defaults.
What You Will Learn
- Declare parameters with default values
- Call functions with and without defaults
- Combine required and optional parameters
- Use with named arguments
Basic Default Arguments
Default Arguments
fun greet(name: String, greeting: String = "Hello") {
println("$greeting, $name!")
}
fun main() {
greet("Juned") // uses default greeting
greet("Kotlin", "Welcome") // overrides default
greet("Alice", "Hi")
}greeting has a default value of "Hello". When not provided, "Hello" is used. When provided, the caller's value takes priority.
Multiple Defaults
Multiple Defaults
fun createUser(
name: String,
role: String = "Student",
active: Boolean = true
) {
println("$name | $role | Active: $active")
}
fun main() {
createUser("Juned")
createUser("Rahul", "Admin")
createUser("Sara", "Teacher", false)
}Provide as many or as few arguments as you need. Unspecified parameters use their defaults.
Default Arguments with Named Arguments
Skip Middle Parameter
fun display(width: Int = 800, height: Int = 600, title: String = "App") {
println("$title: ${width}x${height}")
}
fun main() {
display() // all defaults
display(title = "Game") // only change title
display(height = 1080, title = "HD App")
}Named arguments let you specify any parameter by name, skipping parameters you want to keep at their default value.
Practice Exercise
What prints? fun power(base: Int, exp: Int = 2) = Math.pow(base.toDouble(), exp.toDouble()).toInt() fun main() { println(power(3)) println(power(2, 3)) }
Quick Quiz
Where should parameters with default values be placed?
Frequently Asked Questions
Related Tutorials
Written by KotlinGuide Editorial Team · Reviewed by KotlinGuide Technical Review