Функция Котлина (с примером)

Содержание

В этой статье вы узнаете о функциях; что такое функции, их синтаксис и как создать пользовательскую функцию в Kotlin.

В программировании функция - это группа связанных операторов, которые выполняют определенную задачу.

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

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

Разделение сложной программы на более мелкие компоненты делает нашу программу более организованной и управляемой.

Кроме того, он позволяет избежать повторения и позволяет многократно использовать код.

Типы функций

В зависимости от того, определена ли функция пользователем или доступна в стандартной библиотеке, существует два типа функций:

  • Функция стандартной библиотеки Kotlin
  • Пользовательские функции

Функция стандартной библиотеки Kotlin

Стандартные библиотечные функции - это встроенные функции в 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()функцию во время вызова функции. Эти аргументы называются фактическими аргументами.

 результат = 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"

с участием

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

Это всего лишь краткое введение в функции Kotlin. Рекомендуемые статьи, связанные с функциями:

  • Встроенные функции Kotlin
  • Инфиксные функции котлина
  • Объем функции Котлина
  • Kotlin по умолчанию и именованные аргументы
  • Котлин Рекурсия
  • Рекурсивная функция Kotlin Tail
  • Функция расширения Kotlin
  • Kotlin функции высокого порядка и лямбды

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