V tomto článku sa dozviete o predvolených a pomenovaných argumentoch pomocou príkladov.
Kotlin Predvolený argument
V Kotline môžete poskytnúť predvolené hodnoty parametrom v definícii funkcie.
Ak je funkcia volaná s odovzdanými argumentmi, tieto argumenty sa použijú ako parametre. Ak je však funkcia volaná bez odovzdania argumentov, použije sa predvolený argument.
Ako fungujú predvolené argumenty?
Prípad I: Všetky argumenty prešli
Funkcia foo()
má dva argumenty. Argumenty majú predvolené hodnoty. Vyvoláva sa však foo()
odovzdaním obidvoch argumentov vo vyššie uvedenom programe. Predvolené argumenty sa preto nepoužívajú.
Hodnota písmena a čísla bude 'x'
vo vnútri foo()
funkcie a 2 .
Prípad II: Všetky argumenty neboli predložené
Tu sa foo()
funkcii odovzdá iba jeden (prvý) argument . Prvý argument teda používa hodnotu odovzdanú funkcii. Číslo druhého argumentu však bude mať predvolenú hodnotu, pretože druhý argument nie je odovzdaný počas volania funkcie.
Hodnota písmena a čísla bude 'y'
vo foo()
funkcii a 15 v tomto poradí .
Prípad III: Nebol predložený žiadny argument
Tu sa foo()
funkcia volá bez zadania argumentu. Preto oba argumenty používajú svoje predvolené hodnoty.
Hodnota písmena a čísla bude 'a'
vo foo()
funkcii a 15 v tomto poradí .
Príklad: Predvolený argument 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) )
Po spustení programu bude výstup:
Výstup, keď nebude predložený žiadny argument: ================ '*' sa použije ako prvý argument. Výstup pri odovzdaní prvého argumentu: **************** * Ako prvý argument sa použije znak *. 5 sa používa ako druhý argument. Výstup po odovzdaní oboch argumentov: *****
Kotlin pomenoval argument
Predtým, ako hovoríme o pomenovanom argumente, zvážme malú úpravu vyššie uvedeného kódu:
fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(5) )
Tu sa snažíme odovzdať displayBorder()
funkcii druhý argument a pre prvý argument použiť predvolený argument. Tento kód však spôsobí chybu. Je to preto, že kompilátor si myslí, že sa snažíme poskytnúť 5 ( Int
hodnotu) znaku ( Char
typu).
Na vyriešenie tejto situácie je možné použiť pomenované argumenty. Tu: ako:
Príklad: Kotlin pomenovaný argument
fun displayBorder(character: Char = '=', length: Int = 15) ( for (i in 1… length) ( print(character) ) ) fun main(args: Array) ( displayBorder(length = 5) )
Po spustení programu bude výstup:
=====
Vo vyššie uvedenom programe používame pomenovaný argument ( length = 5
), ktorý určuje, že parameter dĺžky v definícii funkcie by mal mať túto hodnotu (nezáleží na pozícii argumentu).
Prvý znak argumentu používa predvolenú hodnotu '='
v programe.