How to create a function with an optional parameter in Kotlin

5 Answers

0 votes
// Kotlin default arguments: nullable types, and data classes for multiple optional settings.

// Default Parameter Value

fun greet(name: String = "Guest") {
    println("Hello, $name")
}

fun main() {
    greet("Astral")   
    greet()          
}


/*
run:

Hello, Astral
Hello, Guest

*/

 



answered 4 hours ago by avibootz
0 votes
// Kotlin default arguments: nullable types, and data classes for multiple optional settings.

// Optional Parameter Using a Nullable Type (String?)

fun greet(name: String?) {
    val finalName = name ?: "Guest"
    println("Hello, $finalName")
}

fun main() {
    greet("Astral")    
    greet(null)      
}


/*
run:

Hello, Astral
Hello, Guest

*/

 



answered 4 hours ago by avibootz
0 votes
// Kotlin default arguments: nullable types, and data classes for multiple optional settings.

// Optional Parameters Using Named Arguments + Defaults

fun greet(name: String = "Guest", shout: Boolean = false) {
    val finalName = if (shout) name.uppercase() else name
    println("Hello, $finalName")
}

fun main() {
    greet()                          
    greet("Pixel")                    
    greet(shout = true)              
    greet("Voss", shout = true)      
}


/*
run:

Hello, Guest
Hello, Pixel
Hello, GUEST
Hello, VOSS

*/

 



answered 4 hours ago by avibootz
0 votes
// Kotlin default arguments: nullable types, and data classes for multiple optional settings.

// Optional Parameters Using a Data Class 

data class GreetOptions(
    val name: String? = null,
    val shout: Boolean = false
)

fun greet(opts: GreetOptions = GreetOptions()) {
    val base = opts.name ?: "Guest"
    val finalName = if (opts.shout) base.uppercase() else base
    println("Hello, $finalName")
}

fun main() {
    greet()                                     
    greet(GreetOptions(name = "Pixel"))            
    greet(GreetOptions(name = "Zara", shout = true)) 
}


/*
run:

Hello, Guest
Hello, Pixel
Hello, ZARA

*/

 



answered 3 hours ago by avibootz
0 votes
// Kotlin default arguments: nullable types, and data classes for multiple optional settings.

// Optional Parameters Using Varargs (vararg)

fun greet(vararg names: String) {
    val name = if (names.isNotEmpty()) names.last() else "Guest"
    println("Hello, $name")
}

fun main() {
    greet()                
    greet("Pixel")         
    greet("Voss", "Neo")   
}


/*
run:

Hello, Guest
Hello, Pixel
Hello, Voss

*/

 



answered 3 hours ago by avibootz
...