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

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

Синтаксис

kotlinconst val CONSTANT_NAME = value

Пример

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

kotlinconst val PI = 3.14159
const val APP_NAME = "MyApplication"

fun main() {
  println(PI)
  println(APP_NAME)
}

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

kotlinDouble 3.14159
String "MyApplication"

Пример

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

kotlinobject Constants {
  const val MAX_USERS = 100
  const val TIMEOUT = 5000
}

fun main() {
  println(Constants.MAX_USERS)
  println(Constants.TIMEOUT)
}

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

kotlinInt 100
Int 5000

Пример

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

kotlinconst val VERSION = 1.0

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

Пример

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

kotlinconst val SIZE = 10
const val DOUBLE_SIZE = SIZE * 2

fun main() {
  println(DOUBLE_SIZE)
}

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

kotlinInt 20

Ограничения

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

kotlin// НЕВЕРНО - нельзя внутри функции
fun test() {
  const val LOCAL_CONST = 5 // Ошибка компиляции
}

// НЕВЕРНО - нельзя сложным типом
const val ARRAY = intArrayOf(1, 2, 3) // Ошибка компиляции

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

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