Kotlina noklusējuma un nosauktie argumenti (ar piemēriem)

Šajā rakstā jūs uzzināsit par noklusējuma un nosauktajiem argumentiem, izmantojot piemērus.

Kotlina noklusējuma arguments

Kotlinā funkciju definīcijā parametriem varat norādīt noklusējuma vērtības.

Ja funkcija tiek izsaukta ar nodotiem argumentiem, šie argumenti tiek izmantoti kā parametri. Tomēr, ja funkcija tiek izsaukta bez argumenta (-u) nodošanas, tiek izmantots noklusējuma arguments.

Kā darbojas noklusējuma argumenti?

I lieta: visi argumenti ir pieņemti

Funkcijai foo()nepieciešami divi argumenti. Argumenti ir norādīti ar noklusējuma vērtībām. Tomēr foo()tiek izsaukts, nododot abus argumentus iepriekšminētajā programmā. Tādējādi noklusējuma argumenti netiek izmantoti.

Burta un cipara vērtība funkcijas 'x'iekšpusē būs attiecīgi un 2 foo().

II lieta: visi argumenti nav pieņemti

Šeit foo()funkcijai tiek nodots tikai viens (pirmais) arguments . Tādējādi pirmais arguments izmanto funkcijai nodoto vērtību. Tomēr otrais argumenta numurs ņems noklusējuma vērtību, jo otrais arguments netiek nodots funkcijas izsaukuma laikā.

Burta un cipara vērtība funkcijas 'y'iekšpusē būs attiecīgi un 15 foo().

III lieta: arguments netiek pieņemts

Šeit foo()funkcija tiek izsaukta, neizmantojot nevienu argumentu. Tādējādi abos argumentos tiek izmantotas noklusējuma vērtības.

Burta un cipara vērtība funkcijas 'a'iekšpusē būs attiecīgi un 15 foo().

Piemērs: Kotlina noklusējuma arguments

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

Palaidot programmu, izeja būs:

Rezultāts, kad nav nodots neviens arguments: =============== '*' tiek izmantots kā pirmais arguments. Izeja, kad tiek nodots pirmais arguments: *************** '*' tiek izmantots kā pirmais arguments. 5 tiek izmantots kā otrais arguments. Rezultāts, kad abi argumenti ir nodoti: *****

Kotlins nosauca argumentu

Pirms runājam par nosaukto argumentu, ņemsim vērā nelielu iepriekšminētā koda modifikāciju:

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

Šeit mēs cenšamies nodot displayBorder()funkcijai otro argumentu un pirmajam argumentam izmantot noklusējuma argumentu. Tomēr šis kods izmantošanas gadījumā radīs kļūdu. Tas ir tāpēc, ka sastādītājs domā, ka mēs cenšamies norādīt 5 ( Intvērtību) rakstzīmei ( Chartipam).

Lai atrisinātu šo situāciju, var izmantot nosauktos argumentus. Lūk, kā:

Piemērs: Kotlina nosauktais arguments

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

Palaidot programmu, izeja būs:

 =====

Iepriekš minētajā programmā mēs izmantojam nosaukto argumentu ( length = 5), norādot, ka garuma parametram funkcijas definīcijā vajadzētu būt šai vērtībai (nav nozīmes argumenta pozīcijai).

Pirmais argumenta raksturs izmanto programmas noklusējuma vērtību '='.

Interesanti raksti...