Kotlinov zadani i imenovani argumenti (s primjerima)

U ovom ćete članku uz primjere naučiti o zadanim i imenovanim argumentima.

Kotlinov zadani argument

U Kotlinu možete zadati zadane vrijednosti parametrima u definiciji funkcije.

Ako se funkcija poziva s prosljeđenim argumentima, ti se argumenti koriste kao parametri. Međutim, ako se funkcija poziva bez prosljeđivanja argumenata, koristi se zadani argument.

Kako funkcioniraju zadani argumenti?

Slučaj I: Svi argumenti proslijeđeni

Funkcija foo()uzima dva argumenta. Argumenti imaju zadane vrijednosti. Međutim, foo()poziva se prosljeđivanjem oba argumenta u gornji program. Stoga se zadani argumenti ne koriste.

Vrijednost slova i broja bit će, 'x'odnosno 2, unutar foo()funkcije.

Slučaj II: Svi argumenti nisu proslijeđeni

Ovdje se foo()funkciji prenosi samo jedan (prvi) argument . Dakle, prvi argument koristi vrijednost proslijeđenu funkciji. Međutim, drugi će broj argumenta imati zadanu vrijednost jer se drugi argument ne prenosi tijekom poziva funkcije.

Vrijednost slova i broja bit će, 'y'odnosno 15 unutar foo()funkcije.

Slučaj III: Nijedan argument nije proslijeđen

Ovdje se foo()funkcija poziva bez prolaska bilo kakvog argumenta. Dakle, oba argumenta koriste svoje zadane vrijednosti.

Vrijednost slova i broja bit će, 'a'odnosno 15 unutar foo()funkcije.

Primjer: Zadani argument Kotlina

 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) )

Kada pokrenete program, izlaz će biti:

Izlaz kad se ne proslijedi nijedan argument: =============== '' * 'koristi se kao prvi argument. Izlaz kada se preda prvi argument: *************** '*' koristi se kao prvi argument. 5 koristi se kao drugi argument. Izlaz kada su proslijeđena oba argumenta: *****

Kotlin imenovani argument

Prije razgovora o imenovanom argumentu, razmislimo o maloj izmjeni gornjeg koda:

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

Ovdje pokušavamo displayBorder()funkciji proslijediti drugi argument , a za prvi argument koristimo zadani argument. Međutim, ovaj će kôd dati pogrešku upotrebe. To je zato što prevodilac misli da pokušavamo pružiti 5 ( Intvrijednost) znaku ( Chartipu).

Da bi se riješila ova situacija, mogu se koristiti imenovani argumenti. Evo kako:

Primjer: Kotlin imenovani argument

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

Kada pokrenete program, izlaz će biti:

 =====

U gornjem programu koristimo imenovani argument ( length = 5) koji određuje da parametar duljine u definiciji funkcije treba uzeti ovu vrijednost (nije važno položaj argumenta).

Znak prvog argumenta koristi zadanu vrijednost '='u programu.

Zanimljivi članci...