Kotlin в IntelliJ IDEA Kotlin змінні Kotlin типи даних Kotlin операції з числами Kotlin умовні вирази Kotlin умовні конструкції Kotlin цикли Kotlin послідовності Kotlin масиви Kotlin функціональне програмування Kotlin змінна кількість параметрів. Vararg Kotlin повернення результату. оператор return Kotlin однорядкові і локальні функції Kotlin перевантаження функцій Kotlin Лямбда-вирази Kotlin функції вищого порядку Kotlin Анонімні функції Kotlin ООП Класи і об'єкти Kotlin ООП властивості Kotlin ООП конструктор Kotlin ООП функції в класах Kotlin ООП Пакети та імпорт Kotlin ООП модифікатори видимості Kotlin ООП вкладені класи Kotlin ООП інтерфейси Kotlin ООП спадкування Kotlin ООП Перевизначення методів і властивостей Kotlin ООП Абстрактні класи та методи Kotlin ООП Data-класи Kotlin ООП перерахування enums Kotlin ООП Null і nullable-типи Kotlin ООП Обробка винятків Kotlin ООП перетворення типів Kotlin ООП Інфіксна функція Kotlin ООП функції розширення Kotlin ООП Узагальнені класи і функції Kotlin ООП обмеження узагальнень Kotlin ООП Варіантність, коваріантність і контраваріантність Kotlin Колекції. Змінювані і незмінні колекції Kotlin Колекції. LIST список Kotlin Колекції. Set Kotlin Колекції. Map

Kotlin повернення результату. оператор return


Функція може повертати деякий результат. У цьому випадку після списку параметрів через двокрапку вказується повертається тип. А в тілі функції застосовується оператор return , після якого вказується значення, що повертається.

Наприклад, визначимо функцію, яка повертає факторіал числа:

fun factorial(n: Int) : Int{ // функция возвращает значение типа Int
 
    var result = 1;
    for(d in 1..n){
        result *= d
    }
    return result       //  возвращение значения
}
 
fun main(args: Array<String>) {
 
    val a = factorial(4)
    val b = factorial(5)
    val c = factorial(6)
    println("a=$a  b=$b  c=$c")
}

В оголошенні функції factorial після списку параметрів через двокрапку вказується тип Int, який буде представляти тип значення:

fun factorial(n: Int) : Int

У самій функції за допомогою оператора return повертаємо отримане значення:

return result

Так як функція повертає значення, то при її виклику це значення можна привласнити змінної:

val a = factorial(4)

Тип Unit

Якщо функція не повертає будь-якого результату, то фактично неявно вона повертає значення типу Unit. Цей тип аналогічний типу void в ряді мов програмування, яке вказує, що функція нічого не повертає. Наприклад, наступна функція

fun hello(){
    println("Hello")
}

буде аналогічна такою:

fun hello() : Unit{
    println("Hello")
}

Формально ми навіть можемо привласнити результат такої функції змінної:

val d = hello()
val e = hello()

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

Якщо функція повертає значення Unit, ми також можемо використовувати оператор return для повернення з функції:

fun factorial(n: Int){
 
    if(n < 1){
        println("Incorrect input parameter")
        return
    }
    var result = 1;
    for(d in 1..n){
        result *= d
    }
    println("Factorial of $n is equal $result")
}

В даному випадку якщо значення параметра n менше 1, то за допомогою оператора return здійснюється вихід з функції, і наступні інструкції не виконуються. При цьому якщо функція повертає значення Unit, то після оператора return можна не вказувати ніякого значення.


Наш партнер:
beta test mp3 playlist downloader