Skip to main content
Version: Legacy

Функции в Kotlin



Что таоке функция

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

Функцию так же могут обзывать как метод.




Создание Функции

Функция создаётся по простому шаблону:

Шаблон
fun functionName(argName: ArgData): returnData {
functionBody
}

Щас всё разложу вам по полочкам (счастья):

  • fun - это то самое слово, которое говорит язык что "Это функция!".
  • functionName - Это уже имя этой функции. Нужно же будет ещё отделять как-то от других. Обозвать функцию вы можете как хотите (хоть slavaOgurechik). Но по правилам стандарта имя функции должно начинаться с нижнего регистра (не ThisMath, а thisMath).
  • argName: ArgData - это параметры функции.То что функция будет в себя принимать. Они не обязательны (можете просто создать функцию как thisMath()).
    • argName - Это просто имя переменной.
    • ArgData - Это уже тип данных, который принимает в себя переменная argName.
    • Количество аргументов - не ограничено.
  • returnData - Это дополнительное свойство функции. Говорит это о том, что даная функция, после своих внутренних вычеслений, должна что-то вернуть, и это значит что чтобы функция что-то вернуло - нужно чтобы в конце функции был return <что должно вернуть>.
  • functionBody - Это уже тело функции, место, где будут происходить все вычесления.



Создание обычный функции и ещё вызов

Созданим обычную функцию без параметров и затом вызовем её:

Пример
fun sayHelloWorld() {
print("Hello World!")
}
Где-то в другом коде
sayHelloWorld()
В консоли
Hello World!

И что мы сделали?

  1. Создали безполезную функцию.
  2. Функция вызывает другу функцию print в котороый в качестве параметра указан тип данных String с содержанием "Hellow World!".
  3. Мы вызвали нашу безползную функцию где-то в другой части кода.
  4. В консоль выводится текст Hello World!.



Создание продвинутой функции и её вызов

Теперь давайте сделаем что-то более умное.

Пример
fun mathSum(a: int, b: Int): Int {
return a + b
}
Где-то в другом коде
val sumResult = mathSum(5, 8)

print("Сумма 5 и 8 = $sumResult")
В консоли
Сумма 5 и 8 = 13

И что мы сделали?

  1. Создали умную функцию.
  2. Функция принимает в себя 2 аргумента:
    • a - Переменная, которая принимает в себя только тип данных Int, т.е. - Целые числа.
    • b - аналогично с a аргументом.
  3. Функция может вернуть только тип данных Int, т.е. - Целоче число.
  4. Внутри функции происходит сложение 2-х параметров через оператор сложения (+).
  5. Функция возращает данную сумму сложения.
  6. Мы создали переменную с именем sum в которую мы записываем то что возвращает наша функция.
  7. Вызываем другую функцию print где в качестве аргумента указан тип данных String с содержанием "Сумма 5 и 8 $sumResult", где через $sumResult - мы вставляем в строку содержимое переменной.
  8. В консоль выводится текст Сумма 5 и 8 = 13, где 13 - это и есть содержимое переменной sum куда мы уже записали то что вышло из функции mathSum(5, 8).