Sobes.tech
Junior — Middle

Модулҳои final ва const дар забони барномасозӣ чӣ фарқ доранд?

sobes.tech AI

Ҷавоб аз AI

Дарӣ забони Dart (ки дар Flutter истифода мешавад) тағирёбандаҳои final ва const барои эълон кардани арзишҳои тағирнопазир истифода мешаванд, аммо хусусиятҳои гуногун доранд:

  • final маънои онро дорад, ки тағирёбанда метавонад танҳо як маротиба оғоз карда шавад, аммо оғоз кардан метавонад дар вақти иҷро (runtime) сурат гирад. Масалан, арзиш метавонад дар вақти иҷрои барнома гирифта шавад.

  • const маънои онро дорад, ки арзиши тағирёбанда дар вақти компилятсия доимӣ аст, яъне пеш аз оғози барнома маълум ва муайян аст.

Масалан:

final DateTime now = DateTime.now(); // метавонад танҳо як маротиба таъин карда шавад, аммо арзиш дар вақти иҷро муайян мешавад
const int maxCount = 100; // арзиш дар марҳилаи компилятсия маълум аст ва тағир намеёбад