Dart tilida const kalit so'zidan foydalanishning qanday usullari mavjud?
sobes.tech AI
AIdan javob
Dart tilida const kalit so'zi dasturlashda kompilatsiya vaqtida aniqlanadigan va ishga tushirilish vaqtida o'zgartirilmaydigan doimiy qiymatlarni yaratish uchun ishlatiladi.
Foydalanish usullari:
-
O'zgaruvchi modifikatori sifatida: Kompilatsiya vaqtida doimiy bo'ladigan o'zgaruvchini e'lon qilish uchun ishlatiladi.
const int speedOfLight = 299792458; // Doimiy qiymat -
Konstruktor modifikatori sifatida:
constdeb e'lon qilingan konstruktor, agar uning barcha maydonlarifinalyokiconstbo'lsa, o'zgarmas sinflar nusxalarini yaratadi.class Point { final double x; final double y; const Point(this.x, this.y); // Doimiy konstruktor } const origin = Point(0.0, 0.0); // Doimiy nusxa yaratish -
Doimiy to'plamlar yaratish uchun: Listlar, to'plamlar va xaritalar, kompilatsiya vaqtida doimiy bo'ladigan mazmun bilan yaratiladi.
const List<int> primeNumbers = [2, 3, 5, 7, 11]; // Doimiy ro'yxat const Set<String> constants = {'pi', 'e', 'phi'}; // Doimiy to'plam const Map<String, double> mathConstants = { 'pi': 3.14159, 'e': 2.71828 }; // Doimiy xarita -
Doimiy qiymat kutiladigan kontekstlarda: Masalan, Flutterda vidjetlar yaratishda, doimiy vidjetlar optimallashtirilishi mumkin.
// Flutter kontekstida const Text('Hello, World!'); // Doimiy vidjet
final bilan farqi:
constkompilatsiya vaqtida ma'lum bo'lgan qiymatni belgilaydi.finalishga tushirilish vaqtida bir marta tayinlanadigan va keyinchalik o'zgartirilmaydigan qiymatni belgilaydi.
| Xususiyatlar | const |
final |
|---|---|---|
| Initsializatsiya vaqti | Kompilatsiya vaqtida | Ishga tushirilish vaqtida (bir marta) |
| Qiymatning o'zgartirilmasligi | O'zgarmas | Bir marta tayinlangan, keyinchalik o'zgartirilmaydi |
| Sinflarga qo'llash | const konstruktor bilan doimiy nusxa yaratadi |
Ob'ektga o'zgarmas referensiya yaratadi |
| To'plamlar bilan qo'llash | O'zgarmas to'plam yaratadi, mazmuni o'zgarmas | O'zgarmas referensiya yaratadi, mazmuni o'zgartirilishi mumkin |