Аргументи по подразбиране и имена на Kotlin (с примери)

В тази статия ще научите за аргументите по подразбиране и имената с помощта на примери.

Аргумент по подразбиране на Kotlin

В Kotlin можете да предоставите стойности по подразбиране на параметрите в дефиницията на функцията.

Ако функцията се извика с предадени аргументи, тези аргументи се използват като параметри. Ако обаче функцията се извика без предаване на аргументи, се използват аргументи по подразбиране.

Как работят аргументите по подразбиране?

Случай I: Всички аргументи са предадени

Функцията foo()взема два аргумента. Аргументите се предоставят със стойности по подразбиране. Извиква се обаче foo()чрез предаване на двата аргумента в горната програма. Следователно аргументите по подразбиране не се използват.

Стойността на буквата и цифрата ще бъде 'x'и съответно 2 във foo()функцията.

Случай II: Всички аргументи не са предадени

Тук на foo()функцията се предава само един (първи) аргумент . Следователно първият аргумент използва стойността, предадена на функцията. Но вторият номер на аргумент ще вземе стойността по подразбиране, тъй като вторият аргумент не е предаден по време на извикване на функция.

Стойността на буквата и цифрата ще бъде 'y'и съответно 15 във foo()функцията.

Случай III: Не е предаден аргумент

Тук foo()функцията се извиква, без да се предава аргумент. Следователно и двата аргумента използват стойностите си по подразбиране.

Стойността на буквата и цифрата ще бъде 'a'и съответно 15 във foo()функцията.

Пример: Аргумент по подразбиране на Kotlin

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

Когато стартирате програмата, изходът ще бъде:

 =====

В горната програма използваме named argument ( length = 5), указвайки, че параметърът дължина в дефиницията на функцията трябва да приема тази стойност (няма значение позицията на аргумента).

Първият аргумент използва стойността '='по подразбиране в програмата.

Интересни статии...