„Kotlin“ numatytieji ir įvardyti argumentai (su pavyzdžiais)

Šiame straipsnyje su pavyzdžių pagalba sužinosite apie numatytuosius ir įvardintus argumentus.

„Kotlin“ numatytasis argumentas

„Kotlin“ funkcijų apibrėžime galite pateikti numatytąsias parametrų reikšmes.

Jei funkcija iškviečiama perduodant argumentus, šie argumentai naudojami kaip parametrai. Tačiau jei funkcija iškviečiama neperduodant argumento (-ų), naudojamas numatytasis argumentas.

Kaip veikia numatytieji argumentai?

I atvejis: visi argumentai priimti

Funkcijai foo()reikia dviejų argumentų. Argumentai pateikiami su numatytosiomis reikšmėmis. Tačiau foo()iškviečiamas perduodant abu argumentus aukščiau pateiktoje programoje. Taigi numatytieji argumentai nenaudojami.

Raidės ir skaičiaus reikšmė funkcijos 'x'viduje bus atitinkamai ir 2 foo().

II atvejis: nepateikti visi argumentai

Čia foo()funkcijai perduodamas tik vienas (pirmasis) argumentas . Taigi pirmasis argumentas naudoja funkcijai perduotą vertę. Tačiau antrasis argumento numeris įgis numatytąją vertę, nes antrasis argumentas neperduodamas per funkcijos iškvietimą.

Raidės ir skaičiaus reikšmė funkcijos 'y'viduje bus atitinkamai ir 15 foo().

III atvejis: argumentas nepateiktas

Čia foo()funkcija iškviečiama nepateikiant jokių argumentų. Taigi, abu argumentai naudoja numatytąsias reikšmes.

Raidės ir skaičiaus reikšmė funkcijos 'a'viduje bus atitinkamai ir 15 foo().

Pavyzdys: „Kotlin“ numatytasis argumentas

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

Kai paleisite programą, išvestis bus:

Rezultatas, kai neperduodamas argumentas: =============== '*' naudojamas kaip pirmasis argumentas. Rezultatas, kai perduodamas pirmasis argumentas: *************** „*“ naudojamas kaip pirmasis argumentas. 5 naudojamas kaip antrasis argumentas. Rezultatas, kai pateikiami abu argumentai: *****

Kotlinas įvardijo argumentą

Prieš kalbėdami apie įvardytą argumentą, apsvarstykime šiek tiek pirmiau minėto kodo pakeitimą:

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

Čia mes bandome perduoti antrą argumentą displayBorder()funkcijai ir naudoti numatytąjį argumentą pirmajam argumentui. Tačiau šis kodas suteiks naudojimo klaidą. Taip yra todėl, kad kompiliatorius mano, kad mes stengiamės suteikti Intsimboliui ( Chartipui) 5 ( vertė ).

Norėdami išspręsti šią situaciją, gali būti naudojami įvardyti argumentai. Štai kaip:

Pavyzdys: Kotlino įvardytas argumentas

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

Kai paleisite programą, išvestis bus:

 =====

Pirmiau pateiktoje programoje mes naudojame pavadintą argumentą ( length = 5), nurodantį, kad funkcijos apibrėžimo ilgio parametras turėtų užimti šią vertę (nesvarbu argumento padėtis).

Pirmasis argumento simbolis naudoja numatytąją '='programos vertę .

Įdomios straipsniai...