Выводит kotlin.Unit как результат функции

При выполнении программы, помимо результата снизу выводит - kotlin.Unit. Не знаю, ошибка это или нет (начал только изучать kotlin). Подскажите плз, критичная?

/*
В программе каршеринга в зависимости от возраста и стажа водителя доступны разные авто. Озвучены следующие требования.
Общие требования:
•   Возраст не меньше 21 года.
•   Водительский стаж категории «В» от двух лет.
Дополнительные требования для доступа к автомобилям Audi, BMW:
•   Возраст не меньше 26 лет.
•   Водительский стаж категории «В» от шести лет.

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

Проверить работу написанной функции на примере каких-нибудь входных данных.
*/

fun main() {
    val age = readln().toInt()
    val ageDrive = readln().toInt()
    val result = getInfoCars(age, ageDrive)
    println(result)
}

fun getInfoCars(age: Int, ageDrive: Int) {
    val result = if(age>=26 && ageDrive>=6)
        println("Vse zaebis! Beri lybuy tachku i pizdui")
    else if(age>=21 && ageDrive>=2)
        println("Norm. Beri lybuy, krome BMW i Audi")
    else
        println("IDI NAH, CHERT!")
    return result
}

введите сюда описание изображения


Ответы (1 шт):

Автор решения: denisnumb

Вам нужно в качестве возвращаемого результата функции getInfoCars указать тип String и возвращать его:

fun getInfoCars(age: Int, ageDrive: Int): String {
    return if(age>=26 && ageDrive>=6)
        "Vse zaebis! Beri lybuy tachku i pizdui"
    else if(age>=21 && ageDrive>=2)
        "Norm. Beri lybuy, krome BMW i Audi"
    else
        "IDI NAH, CHERT!"
}

А в данном виде у вас функция не подразумевает возвращаемый тип и фактически в переменную result вы записываете результат выполнения функции println в зависимости от заданных условий. А println в свою очередь возвращает Unit

→ Ссылка