Výchozí a pojmenované argumenty Kotlin (s příklady)

V tomto článku se dozvíte o výchozích a pojmenovaných argumentech pomocí příkladů.

Výchozí argument Kotlin

V Kotlin můžete zadat výchozí hodnoty parametrů v definici funkce.

Pokud je funkce volána s předanými argumenty, jsou tyto argumenty použity jako parametry. Pokud je však funkce volána bez předávání argumentů, použije se výchozí argument.

Jak fungují výchozí argumenty?

Případ I: Všechny argumenty prošly

Funkce foo()trvá dva argumenty. Argumenty jsou poskytovány s výchozími hodnotami. Je však foo()volán předáním obou argumentů ve výše uvedeném programu. Výchozí argumenty se proto nepoužívají.

Hodnota písmene a čísla bude 'x'uvnitř foo()funkce a 2 .

Případ II: Všechny argumenty nejsou předány

Tady je funkci předán pouze jeden (první) argument foo(). První argument tedy používá hodnotu předanou funkci. Číslo druhého argumentu však bude mít výchozí hodnotu, protože druhý argument není předán během volání funkce.

Hodnota písmene a čísla bude 'y'uvnitř foo()funkce a 15 .

Případ III: Žádný argument nebyl předán

Zde je foo()funkce volána bez předání jakéhokoli argumentu. Oba argumenty proto používají své výchozí hodnoty.

Hodnota písmene a čísla bude 'a'uvnitř foo()funkce a 15 .

Příklad: Výchozí 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) )

Když spustíte program, výstup bude:

Výstup, když není předán žádný argument: ================ '*' se použije jako první argument. Výstup při předání prvního argumentu: **************** Jako první argument se používá znak *. 5 se používá jako druhý argument. Výstup při předání obou argumentů: *****

Kotlin jmenoval argument

Než začneme hovořit o pojmenovaném argumentu, zvažte malou úpravu výše uvedeného kódu:

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

Zde se snažíme předat funkci druhý argument displayBorder()a pro první argument použít výchozí argument. Tento kód však způsobí použití chyby. Je to proto, že kompilátor si myslí, že se snažíme poskytnout 5 ( Inthodnota) znaku ( Chartypu).

K vyřešení této situace lze použít pojmenované argumenty. Zde:

Příklad: Kotlin pojmenovaný argument

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

Když spustíte program, výstup bude:

 =====

Ve výše uvedeném programu používáme pojmenovaný argument ( length = 5) určující, že parametr délky v definici funkce by měl mít tuto hodnotu (nezáleží na pozici argumentu).

První znak argumentu používá výchozí hodnotu '='v programu.

Zajímavé články...