АКЦИЯ: бесплатные месячные курсы по созданию сайтов
на выбор: верстка, JavaScript, PHP, Python или фреймворки. Сегодня последний день для записи! Жми!
18 of 1310 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

Ключевое слово const

Ключевое слово const используется для объявления констант времени компиляции. Такие константы должны быть инициализированы примитивными типами или строкой и не могут быть изменены после инициализации. Константы объявляются на верхнем уровне файла или внутри объекта object и компилируются в статические поля.

Синтаксис

const val CONSTANT_NAME = value

Пример

Объявление константы на верхнем уровне файла:

const val PI = 3.14159 const val APP_NAME = "MyApplication" fun main() { println(PI) println(APP_NAME) }

Результат выполнения кода:

Double 3.14159 String "MyApplication"

Пример

Объявление констант внутри объекта:

object Constants { const val MAX_USERS = 100 const val TIMEOUT = 5000 } fun main() { println(Constants.MAX_USERS) println(Constants.TIMEOUT) }

Результат выполнения кода:

Int 100 Int 5000

Пример

Попытка изменить константу приведет к ошибке компиляции:

const val VERSION = 1.0 fun main() { VERSION = 2.0 // Ошибка компиляции: Val cannot be reassigned }

Пример

Константы могут использоваться в выражениях времени компиляции:

const val SIZE = 10 const val DOUBLE_SIZE = SIZE * 2 fun main() { println(DOUBLE_SIZE) }

Результат выполнения кода:

Int 20

Ограничения

Константы не могут быть объявлены внутри функций или классов (кроме объектов object). Они должны быть инициализированы значениями примитивных типов или строками.

// НЕВЕРНО - нельзя внутри функции fun test() { const val LOCAL_CONST = 5 // Ошибка компиляции } // НЕВЕРНО - нельзя сложным типом const val ARRAY = intArrayOf(1, 2, 3) // Ошибка компиляции

Смотрите также

  • ключевое слово val,
    для объявления неизменяемых переменных
  • ключевое слово var,
    для объявления изменяемых переменных
  • ключевое слово println,
    для вывода информации в консоль