В чем разница между значением val и константой?
val - это переменная, доступная только для чтения, но не константа: ее можно инициализировать значением переменной (поэтому ее значение не обязательно знать во время компиляции), и если оно объявлено внутри конструкции, которая вызывается повторно (например, функции), оно может принимать различное значение при каждом вызове. Кроме того, он может ссылаться на объект, который является изменяемым. Если у нас есть значение, которое действительно является постоянным (и представляет собой строку или примитивный тип, который известен во время компиляции), мы можем объявить его как фактическую константу. Однако мы можем сделать это только внутри объявления объекта или на верхнем уровне файла.
val - это переменная, доступная только для чтения, но не константа: ее можно инициализировать значением переменной (поэтому ее значение не обязательно знать во время компиляции), и если оно объявлено внутри конструкции, которая вызывается повторно (например, функции), оно может принимать различное значение при каждом вызове. Кроме того, он может ссылаться на объект, который является изменяемым. Если у нас есть значение, которое действительно является постоянным (и представляет собой строку или примитивный тип, который известен во время компиляции), мы можем объявить его как фактическую константу. Однако мы можем сделать это только внутри объявления объекта или на верхнем уровне файла.
val a = 1 //Переменная, доступная только для чтения
const val b = 2 //Константа