Koji su načini korišćenja ključne reči const u Dart-u?
sobes.tech АИ
Одговор од АИ
Ključna riječ const u Dart-u se koristi za kreiranje konstantnih vrijednosti koje se određuju tokom kompilacije i ne mogu biti promijenjene tokom izvršavanja programa.
Načini korišćenja:
-
Kao modifikator promenljive: Koristi se za deklarisanje promenljive čija je vrijednost konstantna tokom kompilacije.
const int speedOfLight = 299792458; // Konstantna vrijednost -
Kao modifikator konstruktora: Konstruktor označen kao
conststvara nepromjenjive instance klase ako su sva njena polja finalna (final) ili konstantna (const).class Point { final double x; final double y; const Point(this.x, this.y); // Konstantni konstruktor } const origin = Point(0.0, 0.0); // Kreiranje konstantne instance -
Za kreiranje konstantnih kolekcija: Koristi se za kreiranje listi, skupova i mapa čiji sadržaj je konstantan tokom kompilacije.
const List<int> primeNumbers = [2, 3, 5, 7, 11]; // Konstantna lista const Set<String> constants = {'pi', 'e', 'phi'}; // Konstantni skup const Map<String, double> mathConstants = { 'pi': 3.14159, 'e': 2.71828 }; // Konstantna mapa -
U kontekstima gde se očekuje konstantna vrednost: Na primer, pri kreiranju widgeta u Flutter-u, gde se konstantni widgeti mogu optimizovati.
// U Flutter kontekstu const Text('Hello, World!'); // Konstantni widget
Razlike od final:
constdefiniše vrednost poznatu tokom kompilacije.finaldefiniše vrednost koja se dodeljuje samo jednom tokom izvršenja i ne može biti promenjena nakon toga.
| Karakteristika | const |
final |
|---|---|---|
| Vreme inicijalizacije | Vreme kompilacije | Vreme izvršenja (jednom) |
| Promenljivost vrednosti | Neizmenjivo | Dodeljuje se jednom, zatim nepromenjivo |
| Primena na instance | Kreira konstantnu instancu (ako je konstruktor const) |
Kreira nepromenjivu referencu na objekat |
| Primena na kolekcije | Kreira nepromenjivu kolekciju sa nepromenljivim sadržajem | Kreira nepromenjivu referencu na kolekciju (sadržaj može biti promenljiv) |