fun fact(x: Int): Int{
tailrec fun factTail(y: Int, z: Int): Int{
if (y == 0) return z
else return factTail(y - 1, y * z)
}
return factTail(x, 1)
}
Может ли кто-нибудь объяснить мне, как приведенная выше функция рекурсии работает в kotlin?
tailrec
в Kotlin предотвращает переполнение стека вашей функцией. Этот модификатор используется компилятором для его оптимизации. - person Nikola Despotoski   schedule 31.10.2017