Junior — Middle
Таврҳои калидии const val ва val дар Kotlin чӣ фарқ доранд?
sobes.tech AI
Ҷавоб аз AI
Дар Kotlin калидсўзи val нишон медиҳад, ки ўзгартирилмайдиган ўзгарувчи (фақат ўқиш учун), унинг қиймати бир марта инициализацияда белгиланиши мумкин, аммо қиймати ўзгартирилиши мумкин бўлган вақтда ҳисобланади.
const val — бу компиляция вақтидаги константа бўлиб, у примитив тур ёки сатр бўлиши керак ва компиляция вақтида маълум бўлган қиймат билан инициализация қилиниши керак. Бундай константалар, масалан, аннотацияларда ёки константларни талаб қилувчи параметрларда ишлатилиши мумкин.
Асосий фарқлар:
const valдоимий равишда статик константа бўлиб, класс даражасида мавжуд (фақат объектларда ёки юқори даражада).valоддий ўзгартирилмайдиган хусусият бўлиб, динамик равишда ҳисобланиши мумкин.
misol:
const val MAX_COUNT = 10 // компиляция вақтидаги константа
val currentTime = System.currentTimeMillis() // ишга туширилганда ҳисобланган қиймат