Котлін за замовчуванням та іменовані аргументи (з прикладами)

У цій статті ви дізнаєтесь про за замовчуванням та іменовані аргументи за допомогою прикладів.

Аргумент Котліна за замовчуванням

У Kotlin ви можете вказати значення за замовчуванням для параметрів у визначенні функції.

Якщо функція викликається із переданими аргументами, ці аргументи використовуються як параметри. Однак якщо функція викликається без передачі аргументів, використовується аргумент за замовчуванням.

Як працюють аргументи за замовчуванням?

Випадок I: усі аргументи передано

Функція foo()приймає два аргументи. Аргументи надаються зі значеннями за замовчуванням. Однак foo()викликається шляхом передачі обох аргументів у вищезазначену програму. Отже, аргументи за замовчуванням не використовуються.

Значення букви та цифри буде 'x'і відповідно 2 всередині foo()функції.

Випадок II: Усі аргументи не передаються

Тут foo()функції передається лише один (перший) аргумент . Отже, перший аргумент використовує значення, передане функції. Однак другий номер аргументу прийме значення за замовчуванням, оскільки другий аргумент не передається під час виклику функції.

Значення букви та числа буде 'y'і відповідно 15 всередині foo()функції.

Випадок III: Аргумент не передано

Тут 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) ) 

Коли ви запускаєте програму, результат буде:

 =====

У наведеній вище програмі ми використовуємо named argument ( length = 5), вказуючи, що параметр length у визначенні функції повинен приймати це значення (не має значення положення аргументу).

Перший символ аргументу використовує значення '='програми за замовчуванням .

Цікаві статті...