Назад к вопросам
JuniorТеорияЧасто
Что произойдёт при сборке и запуске программы?
fun addOne(n: Int): Int {
n = n + 1
return n
}
fun main() {
println(addOne(5))
}Не скомпилируется: параметр нельзя переприсвоить
- Ждать
6: считать параметр переменной, которую можно менять. В Kotlin параметр только для чтения, какval, поэтомуn = n + 1не скомпилируется. - Ждать, что программа упадёт только при запуске: компилятор заранее проверяет каждое присваивание и сообщает
'val' cannot be reassigned., поэтому ничего не запускается.
- Как переписать
addOne, чтобы он возвращал6без присваиванияn? - Зачем Kotlin делает каждый параметр доступным только для чтения?