Predvolené a pomenované argumenty Kotlin (s príkladmi)

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 ( Inthodnotu) znaku ( Chartypu).

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.

Zaujímavé články...