Sobes.tech
Junior — Middle

Kotlin'da const val va val kalit so'zlari o'rtasidagi farqlar nima?

sobes.tech AI

AIdan javob

Kotlin'da val kalit so'zi o'zgarmas o'zgaruvchi (faqat o'qish uchun), uning qiymati bir marta boshlang'ichda tayinlanishi mumkin, lekin qiymati o'zgaruvchan bo'lishi mumkin.

const val - bu kompilatsiya vaqtida o'zgarmas bo'lib, primitiv yoki satr turi bo'lishi kerak va kompilatsiya bosqichida ma'lum bo'lgan qiymat bilan boshlanishi kerak. Bunday o'zgarmaslar, masalan, annotatsiyalarda yoki o'zgarmaslarni talab qiladigan parametrlar sifatida ishlatilishi mumkin.

Asosiy farqlar:

  • const val har doim statik o'zgarmas bo'lib, sinf darajasida mavjud (faqat ob'ektlarda yoki yuqori darajada).
  • val oddiy o'zgarmas xususiyat bo'lib, dinamik ravishda hisoblanishi mumkin.

Misol:

const val MAX_COUNT = 10 // kompilatsiya vaqtida o'zgarmas
val currentTime = System.currentTimeMillis() // bajarilish vaqtida hisoblangan qiymat