Функции в 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!
И что мы сделали?
- Создали безполезную функцию.
- Функция вызывает другу функцию
String
с содержанием"Hellow World!"
.- Мы вызвали нашу безползную функцию где-то в другой части кода.
- В консоль выводится текст
Hello World!
.
Создание продвинутой функции и её вызов
Теперь давайте сделаем что-то более умное.
Пример
fun mathSum(a: int, b: Int): Int {
return a + b
}
Где-то в другом коде
val sumResult = mathSum(5, 8)
print("Сумма 5 и 8 = $sumResult")
В консоли
Сумма 5 и 8 = 13
И что мы сделали?
- Создали умную функцию.
- Функция принимает в себя 2 аргумента:
a
- Переменная, которая принимает в себя только тип данныхInt
, т.е. - Целые числа.b
- аналогично сa
аргументом.- Функция может вернуть только тип данных
Int
, т.е. - Целоче число.- Внутри функции происходит сложение 2-х параметров через оператор сложения (
+
).- Функция возращает данную сумму сложения.
- Мы создали переменную с именем
sum
в которую мы записываем то что возвращает наша функция.- Вызываем другую функцию
String
с содержанием"Сумма 5 и 8 $sumResult"
, где через$sumResult
- мы вставляем в строку содержимое переменной.- В консоль выводится текст
Сумма 5 и 8 = 13
, где13
- это и есть содержимое переменнойsum
куда мы уже записали то что вышло из функцииmathSum(5, 8)
.