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 ( Int
hodnota) znaku ( Char
typu).
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.