Back to questions
Junior — Middle
67
Как различаются объявление неизменяемых переменных с помощью ключевых слов val и const val в Kotlin?
Companies where asked
RedLab
Answer from AI
sobes.tech AI
В Kotlin ключевое слово val используется для объявления неизменяемой переменной, значение которой присваивается во время выполнения и не может быть изменено после инициализации. Такие переменные могут быть локальными или свойствами класса.
const val — это константа времени компиляции. Она должна быть объявлена на уровне объекта, класса или файла, и её значение должно быть известно на этапе компиляции (например, литералы или выражения, вычисляемые на этапе компиляции). const val нельзя использовать внутри функций.
Пример:
val runtimeValue = System.currentTimeMillis() // значение известно только во время выполнения
const val compileTimeValue = 100 // значение известно на этапе компиляции
Итого:
val— неизменяемая переменная, значение которой задаётся во время выполнения.const val— неизменяемая константа, значение которой известно на этапе компиляции и используется для оптимизации и константных выражений.