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

Ключевое слово const используется для объявления констант времени компиляции. Константы, объявленные с этим модификатором, должны быть:

Синтаксис

kotlin// Константа верхнего уровня
const val CONSTANT_NAME = value

// Константа внутри объекта
object MyObject {
  const val CONSTANT_NAME = value
}

// Константа внутри компаньона
class MyClass {
  companion object {
    const val CONSTANT_NAME = value
  }
}

Пример

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

kotlinconst val PI = 3.14159
const val MAX_USERS = 100
const val APP_NAME = "MyApplication"
const val IS_DEBUG = true

Пример

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

kotlinobject MathConstants {
  const val PI = 3.14159
  const val E = 2.71828
}

val radius = 5.0
val area = MathConstants.PI * radius * radius
println(area)

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

kotlinDouble 78.53975

Пример

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

kotlinclass Configuration {
  companion object {
    const val TIMEOUT = 5000
    const val MAX_RETRIES = 3
    const val BASE_URL = "https://api.example.com"
  }
}

println(Configuration.TIMEOUT)
println(Configuration.BASE_URL)

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

kotlinInt 5000
String "https://api.example.com"

Пример

Недопустимое использование const (вызовет ошибку компиляции):

kotlin// Ошибка: const-переменная должна быть инициализирована примитивом или строкой
const val CURRENT_TIME = System.currentTimeMillis()

// Ошибка: const-переменная не может быть объявлена внутри функции
fun myFunction() {
  const val LOCAL_CONST = 10
}

// Ошибка: const-переменная не может быть объявлена в обычном классе
class MyClass {
  const val CLASS_CONST = 10 // Не допускается
}

Отличие const val от val

Основные различия между const val и обычным val:

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

  • ключевое слово val,
    для объявления неизменяемых переменных
  • ключевое слово var,
    для объявления изменяемых переменных
  • объекты object,
    для создания синглтонов и группировки констант
  • компаньоны companion object,
    для создания статических членов класса