Котлиновски и именовани аргументи (са примерима)

У овом чланку ћете помоћу примера научити о подразумеваним и именованим аргументима.

Котлин подразумевани аргумент

У Котлину можете да задате вредности параметрима у дефиницији функције.

Ако се функција позива са прослеђеним аргументима, ти се аргументи користе као параметри. Међутим, ако се функција позива без просљеђивања аргумената, користи се задани аргумент.

Како функционишу задати аргументи?

Случај И: Сви аргументи прослеђени

Функција foo()узима два аргумента. Аргументи су дати са подразумеваним вредностима. Међутим, foo()позива се преношењем оба аргумента у горе наведени програм. Стога се задани аргументи не користе.

Вредност слова и броја ће бити 'x'и 2 унутар foo()функције.

Случај ИИ: Сви аргументи нису прослеђени

Овде се foo()функцији преноси само један (први) аргумент . Дакле, први аргумент користи вредност прослеђену функцији. Међутим, други аргумент ће узети подразумевану вредност, јер други аргумент није прослеђен током позива функције.

Вредност слова и броја биће, 'y'односно 15 унутар foo()функције.

Случај ИИИ: Ниједан аргумент није прослеђен

Овде се foo()функција позива без проласка било каквог аргумента. Дакле, оба аргумента користе своје подразумеване вредности.

Вредност слова и броја биће, 'a'односно 15 унутар foo()функције.

Пример: Котлин подразумевани аргумент

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

Када покренете програм, излаз ће бити:

Излаз када није прослеђен ниједан аргумент: =============== '' * 'користи се као први аргумент. Излаз када се преда први аргумент: *************** '*' користи се као први аргумент. 5 користи се као други аргумент. Излаз када су прослеђена оба аргумента: *****

Котлин именовани аргумент

Пре него што разговарамо о именованом аргументу, размотримо малу модификацију горњег кода:

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

Овде покушавамо да проследимо други аргумент displayBorder()функцији и користимо подразумевани аргумент за први аргумент. Међутим, овај код ће дати грешку употребе. То је зато што преводилац мисли да покушавамо да дамо 5 ( Intвредност) знаку ( Charтипу).

Да би се решила ова ситуација, могу се користити именовани аргументи. Ево како:

Пример: Котлин именовани аргумент

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

Када покренете програм, излаз ће бити:

 =====

У горњем програму користимо именовани аргумент ( length = 5) који одређује да параметар дужине у дефиницији функције треба да преузме ову вредност (није важно положај аргумента).

Први аргумент аргумент користи подразумевану вредност '='у програму.

Занимљиви Чланци...