Функція Котліна (на прикладі)

У цій статті ви дізнаєтесь про функції; що таке функції, його синтаксис і як створити користувацьку функцію в Kotlin.

У програмуванні функція - це група пов’язаних тверджень, які виконують певне завдання.

Функції використовуються для розбиття великої програми на менші та модульні фрагменти. Наприклад, вам потрібно створити та розфарбувати коло на основі вводу користувача. Ви можете створити дві функції для вирішення цієї проблеми:

  • createCircle() Функція
  • colorCircle() Функція

Поділ складної програми на менші компоненти робить нашу програму більш організованою та керованою.

Крім того, це дозволяє уникнути повторень і робить код багаторазовим.

Типи функцій

Залежно від того, визначена користувачем функція чи доступна у стандартній бібліотеці, існують два типи функцій:

  • Стандартна бібліотечна функція Котліна
  • Функції, визначені користувачем

Стандартна бібліотечна функція Котліна

Стандартні функції бібліотеки - це вбудовані функції в Kotlin, які легко доступні для використання. Наприклад,

  • print() - це функція бібліотеки, яка друкує повідомлення у стандартний вихідний потік (монітор).
  • sqrt()повертає квадратний корінь з числа ( Doubleзначення)
 fun main(args: Array) ( var number = 5.5 print("Result = $(Math.sqrt(number))") )

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

 Результат = 2.345207879911715

Ось посилання на Стандартну бібліотеку Котліна, яку ви можете вивчити.

Функції, визначені користувачем

Як вже згадувалося, ви можете створювати функції самостійно. Такі функції називаються визначеними користувачем функціями.

Як створити користувацьку функцію в Kotlin?

Перш ніж ви зможете використовувати (викликати) функцію, вам потрібно її визначити.

Ось як ви можете визначити функцію в Kotlin:

 fun callMe () (// тіло функції) 

Для визначення функції в Kotlin funвикористовується ключове слово. Потім йде назва функції (ідентифікатор). Тут ім'я функції - callMe.

У наведеній вище програмі дужки ( )порожні. Це означає, що ця функція не приймає жодного аргументу. Про аргументи ви дізнаєтесь далі у цій статті.

Коди всередині фігурних дужок ( )- це тіло функції.

Як викликати функцію?

Вам потрібно викликати функцію, щоб запускати коди всередині тіла функції. Ось як:

 Зателефонуй мені()

Це твердження викликає callMe()функцію, заявлену раніше.

Приклад: Проста функціональна програма

 fun callMe() ( println("Printing from callMe() function.") println("This is cool (still printing from inside).") ) fun main(args: Array) ( callMe() println("Printing outside from callMe() function.") )

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

Друк із функції callMe (). Це круто (все ще друкується зсередини). Друк зовні з функції callMe ().

callMe()Функція в коді вище не приймає ніяких аргументів.

Крім того, функція не повертає жодного значення (тип повернення є Unit).

Візьмемо інший приклад функції. Ця функція приймає аргументи, а також повертає значення.

Приклад: Додайте два числа за допомогою функції

 fun addNumbers(n1: Double, n2: Double): Int ( val sum = n1 + n2 val sumInteger = sum.toInt() return sumInteger ) fun main(args: Array) ( val number1 = 12.2 val number2 = 3.4 val result: Int result = addNumbers(number1, number2) println("result = $result") )

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

 результат = 15

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

Тут два аргументи number1 і number2 типу Doubleпередаються addNumbers()функції під час виклику функції. Ці аргументи називаються фактичними аргументами.

 result = addNumbers (число1, число2)

Параметри n1 та n2 приймають передані аргументи (у визначенні функції). Ці аргументи називаються формальними аргументами (або параметрами).

In Kotlin, arguments are separated using commas. Also, the type of the formal argument must be explicitly typed.

Note that, the data type of actual and formal arguments should match, i.e., the data type of first actual argument should match the type of first formal argument. Similarly, the type of second actual argument must match the type of second formal argument and so on.

Here,

 return sumInteger

is the return statement. This code terminates the addNumbers() function, and control of the program jumps to the main() function.

In the program, sumInteger is returned from addNumbers() function. This value is assigned to the variable result.

Notice,

  • both sumInteger and result are of type Int.
  • the return type of the function is specified in the function definition.
     // return type is Int fun addNumbers(n1: Double, n2: Double): Int (… )

If the function doesn't return any value, its return type is Unit. It is optional to specify the return type in the function definition if the return type is Unit.

Example: Display Name by Using Function

 fun main(args: Array) ( println(getName("John", "Doe")) ) fun getName(firstName: String, lastName: String): String = "$firstName $lastName"

When you run the program, the output will be:

 John Doe

Here, the getName() function takes two String arguments, and returns a String.

You can omit the curly braces ( ) of the function body and specify the body after = symbol if the function returns a single expression (like above example).

It is optional to explicitly declare the return type in such case because the return type can be inferred by the compiler. In the above example, you can replace

 весело getName (firstName: String, lastName: String): String = "$ firstName $ lastName"

з

 fun getName (firstName: String, lastName: String) = "$ firstName $ lastName" 

Це лише короткий вступ до функцій у Котліні. Рекомендовані статті, що стосуються функцій:

  • Вбудовані функції Котліна
  • Функції інфіксації Kotlin
  • Сфера функцій Котліна
  • Котлін за замовчуванням та іменовані аргументи
  • Рекурсія Котліна
  • Рекурсивна функція хвоста Котліна
  • Функція розширення Kotlin
  • Котлінські функції високого порядку та лямбда

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