Следите за новинками
в нашем Telegram канале. Жми, чтобы подписаться:)
⊗ktPmScNC 329 of 522 menu
◀ ▶

Одинаковые имена переменных в Kotlin

Если во внутренней области снова объявить переменную с тем же именем, что снаружи, внутри действует только новая. Внешнее имя на этом участке как бы скрыто.

В main val задает 1, внутри блока другое val с тем же именем - 2. На экран из блока попадет 2, после блока снова 1:

fun main() { val num = 1 if (true) { val num = 2 println(num) } println(num) }

То же между функцией на уровне файла и локальной переменной в main. Из main на экран попадет 10, из show - 20:

val num = 20 fun show() { println(num) } fun main() { val num = 10 println(num) show() }

Изменение внутренней переменной не меняет внешнюю. После выхода из блока снова видна старая. На экран попадут 100 и 5:

fun main() { var score = 5 if (true) { var score = 100 println(score) } println(score) }

Определите, что выведет программа:

fun main() { val tag = "a" if (true) { val tag = "b" println(tag) } println(tag) }

Определите, что выведет программа:

val level = 1 fun main() { val level = 2 println(level) }
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить