Kotlinovi privzeti in imenovani argumenti (s primeri)

V tem članku boste s pomočjo primerov spoznali privzete in imenovane argumente.

Kotlinov privzeti argument

V Kotlinu lahko parametrom v definiciji funkcije zagotovite privzete vrednosti.

Če funkcijo pokličete s posredovanimi argumenti, se ti argumenti uporabijo kot parametri. Če pa se funkcija pokliče brez podajanja argumentov, se uporabi privzeti argument.

Kako delujejo privzeti argumenti?

Primer I: vsi argumenti posredovani

Funkcija foo()ima dva argumenta. Argumenti imajo privzete vrednosti. Vendar pa foo()se pokliče s predajo obeh argumentov v zgornjem programu. Zato se privzeti argumenti ne uporabljajo.

Vrednost črke in številke bo 'x'v foo()funkciji in 2 oziroma .

Primer II: Vsi argumenti niso podani

Tu se foo()funkciji posreduje samo en (prvi) argument . Zato prvi argument uporablja vrednost, ki je bila posredovana funkciji. Vendar pa bo številka drugega argumenta dobila privzeto vrednost, saj drugi argument med klicem funkcije ni poslan.

Vrednost črke in številke bo 'y'v foo()funkciji in 15 oziroma .

Primer III: Noben argument ni poslan

Tu se foo()funkcija pokliče brez podajanja argumentov. Zato oba argumenta uporabljata privzete vrednosti.

Vrednost črke in številke bo 'a'v foo()funkciji in 15 oziroma .

Primer: Kotlinov privzeti argument

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

Ko zaženete program, bo rezultat:

Izhod, ko ni poslan noben argument: =============== '' * 'se uporablja kot prvi argument. Izhod, ko je poslan prvi argument: *************** '*' se uporablja kot prvi argument. 5 se uporablja kot drugi argument. Rezultat, ko sta posredovana oba argumenta: *****

Kotlin imenovan argument

Preden se pogovorimo o imenovanem argumentu, razmislimo o malo spremembi zgornje kode:

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

Tu poskušamo displayBorder()funkciji posredovati drugi argument , za prvi argument pa uporabimo privzeti argument. Vendar bo ta koda povzročila napako. To je zato, ker prevajalnik misli, da skušamo navesti 5 ( Intvrednost) znaku ( Charvrsti).

Za rešitev te situacije lahko uporabimo imenovane argumente. Takole:

Primer: Kotlin imenovan argument

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

Ko zaženete program, bo rezultat:

 =====

V zgornjem programu uporabljamo imenovani argument ( length = 5), ki določa, da naj parameter dolžine v definiciji funkcije zavzame to vrednost (ni pomembno položaj argumenta).

Prvi argumentni argument uporablja privzeto vrednost '='v programu.

Zanimive Članki...