Argomenti predefiniti e denominati di Kotlin (con esempi)

In questo articolo imparerai gli argomenti predefiniti e con nome con l'aiuto di esempi.

Argomento predefinito di Kotlin

In Kotlin, puoi fornire valori predefiniti ai parametri nella definizione della funzione.

Se la funzione viene chiamata con gli argomenti passati, questi vengono usati come parametri. Tuttavia, se la funzione viene chiamata senza passare argomenti, vengono utilizzati gli argomenti predefiniti.

Come funzionano gli argomenti predefiniti?

Caso I: tutti gli argomenti passati

La funzione foo()accetta due argomenti. Gli argomenti vengono forniti con valori predefiniti. Tuttavia, foo()viene chiamato passando entrambi gli argomenti nel programma precedente. Pertanto, gli argomenti predefiniti non vengono utilizzati.

Il valore della lettera e del numero sarà 'x'e 2 rispettivamente all'interno della foo()funzione.

Caso II: tutti gli argomenti non vengono passati

Qui, solo un (primo) argomento viene passato alla foo()funzione. Quindi, il primo argomento utilizza il valore passato alla funzione. Tuttavia, il secondo numero di argomento assumerà il valore predefinito poiché il secondo argomento non viene passato durante la chiamata della funzione.

Il valore della lettera e del numero sarà 'y'e 15 rispettivamente all'interno della foo()funzione.

Caso III: nessun argomento viene passato

Qui, la foo()funzione viene chiamata senza passare alcun argomento. Quindi, entrambi gli argomenti utilizzano i suoi valori predefiniti.

Il valore della lettera e del numero sarà 'a'e 15 rispettivamente all'interno della foo()funzione.

Esempio: argomento predefinito di Kotlin

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( println("Output when no argument is passed:") displayBorder() println("'*' is used as a first argument.") println("Output when first argument is passed:") displayBorder('*') println("'*' is used as a first argument.") println("5 is used as a second argument.") println("Output when both arguments are passed:") displayBorder('*', 5) )

Quando esegui il programma, l'output sarà:

Risultato quando non viene passato alcun argomento: =============== '*' viene utilizzato come primo argomento. Output quando viene passato il primo argomento: *************** '*' viene utilizzato come primo argomento. 5 è utilizzato come secondo argomento. Output quando vengono passati entrambi gli argomenti: *****

Argomento denominato Kotlin

Prima di parlare dell'argomento con nome, consideriamo una piccola modifica del codice precedente:

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )

Qui, stiamo cercando di passare il secondo argomento alla displayBorder()funzione e utilizzare l'argomento predefinito per il primo argomento. Tuttavia, questo codice restituirà un errore. È perché il compilatore pensa che stiamo cercando di fornire 5 ( Intvalore) al carattere ( Chartipo).

Per risolvere questa situazione, è possibile utilizzare argomenti con nome. Ecco come:

Esempio: argomento denominato Kotlin

 fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) ) 

Quando esegui il programma, l'output sarà:

 =====

Nel programma sopra, stiamo usando l'argomento denominato ( length = 5) che specifica che il parametro di lunghezza nella definizione della funzione deve assumere questo valore (non importa la posizione dell'argomento).

Il primo carattere argomento utilizza il valore predefinito '='nel programma.

Articoli interessanti...