Внешние переменные в Kotlin
Внешняя переменная - та, что объявлена раньше и выше по тексту в той же функции. Внутренний блок в фигурных скобках может читать такое имя, если внутри не объявлено другое с тем же именем.
В main объявлена limit. Внутри
условия на экран попадет то же значение:
fun main() {
val limit = 10
if (limit > 0) {
println(limit)
}
}
Внутренняя функция, объявленная в main,
тоже видит переменные этой функции. На экран
попадет 3:
fun main() {
val base = 3
fun printBase() {
println(base)
}
printBase()
}
Переменная в main не видна в отдельной
функции на уровне файла. Программа не соберется:
fun showCount() {
println(count)
}
fun main() {
val count = 5
showCount()
}
Определите, что выведет программа:
fun main() {
val rate = 2
if (rate >= 1) {
println(rate)
}
}
Определите, соберется ли программа:
fun printPair() {
println(pair)
}
fun main() {
val pair = 8
printPair()
}