Menu
Coddy logo textTech

Valori predefiniti

Fa parte della sezione Fondamenti del percorso Kotlin di Coddy. Lezione 59 di 93.

A volte vuoi che un parametro di una funzione abbia un valore predefinito quando chi la chiama non ne specifica uno. Kotlin ti consente di assegnare valori predefiniti direttamente nella definizione del parametro.

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

fun main() {
    greet("Alice")
    greet()
}
// Risultato:
// Hello, Alice!
// Hello, Guest!

Quando chiami greet() senza un argomento, Kotlin usa il valore predefinito "Guest". Questo rende le funzioni più flessibili: chi le chiama può personalizzarne il comportamento quando necessario oppure affidarsi a valori predefiniti ragionevoli.

Puoi combinare parametri con e senza valori predefiniti. I parametri con valori predefiniti in genere vengono per ultimi:

fun createUser(name: String, role: String = "member"): String {
    return "$name ($role)"
}

fun main() {
    println(createUser("Alice", "admin"))
    println(createUser("Bob"))
}
// Risultato:
// Alice (admin)
// Bob (member)

Gli argomenti denominati diventano particolarmente utili con i valori predefiniti. Ti permettono di saltare alcuni parametri mentre ne fornisci altri:

fun format(text: String, uppercase: Boolean = false, prefix: String = "") {
    val result = if (uppercase) text.uppercase() else text
    println("$prefix$result")
}

fun main() {
    format("hello", prefix = "-> ")
}
// Output: -> hello
challenge icon

Sfida

Medio

Implementa buildGreeting(name: String, greeting: String = "Hello"): String. Restituisci un saluto nella forma greeting, name!. Il driver di test fornito chiama la tua funzione due volte: una volta solo con il nome e una volta con un nome e un saluto esplicito. Non scrivere main né usare print all’interno della funzione. Il saluto mancante deve usare il valore predefinito "Hello".

Provalo tu

fun buildGreeting(name: String, greeting: String): String {
    // Aggiungi il valore predefinito al parametro e restituisci il saluto.
    TODO("Build the greeting")
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Playground Kotlin