Aké sú spôsoby použitia kľúčového slova const v Dart?
sobes.tech AI
Odpoveď od AI
Kľúčové slovo const v jazyku Dart sa používa na vytváranie konštantných hodnôt, ktoré sú určené počas kompilácie a nemôžu byť počas behu programu zmenené.
Spôsoby použitia:
-
Ako modifikátor premennej: Používa sa na deklaráciu premennej, ktorej hodnota je konštantná počas kompilácie.
const int speedOfLight = 299792458; // Konštantná hodnota -
Ako modifikátor konštruktora: Konštruktor označený ako
constvytvára nemeniteľné inštancie triedy, ak sú všetky jej polia finalné (final) alebo konštantné (const).class Point { final double x; final double y; const Point(this.x, this.y); // Konštantný konštruktor } const origin = Point(0.0, 0.0); // Vytvorenie konštantnej inštancie -
Na vytváranie konštantných kolekcií: Používa sa na vytváranie zoznamov, množín a máp, ktorých obsah je konštantný počas kompilácie.
const List<int> primeNumbers = [2, 3, 5, 7, 11]; // Konštantný zoznam const Set<String> constants = {'pi', 'e', 'phi'}; // Konštantné množstvo const Map<String, double> mathConstants = { 'pi': 3.14159, 'e': 2.71828 }; // Konštantná mapa -
V kontextoch, kde sa očakáva konštantná hodnota: Napríklad pri vytváraní widgetov vo Flutteri, kde môžu byť konštantné widgety optimalizované.
// V kontexte Flutter const Text('Hello, World!'); // Konštantný widget
Rozdiely od final:
consturčuje hodnotu, ktorá je známa počas kompilácie.finalurčuje hodnotu, ktorá je priradená iba raz počas behu a nemôže byť zmenená po tom.
| Charakteristika | const |
final |
|---|---|---|
| Čas inicializácie | Čas kompilácie | Čas behu (raz) |
| Zmeniteľnosť hodnoty | Nemenná | Priradená raz, potom nemenná |
| Použitie na inštancie | Vytvára konštantnú inštanciu (ak je konštruktor const) |
Vytvára nemennú referenciu na objekt |
| Použitie na kolekcie | Vytvára nemennú kolekciu s nemenným obsahom | Vytvára nemennú referenciu na kolekciu (obsah môže byť zmeniteľný) |