Junior
Dart-də var və dynamic arasındakı fərq nədir?
sobes.tech Süni İntellekt
AI-dan cavab
var dəyişənini təyin edir və onun tipi avtomatik olaraq təyin olunan dəyərə əsasən müəyyən edilir və sabit qalır. dynamic dəyişənini təyin edir və onun tipi proqramın icrası zamanı dəyişə bilər.
| Xüsusiyyət | var |
dynamic |
|---|---|---|
| Tipin təyin olunması | Kompilyasiya zamanı (statik) | İcra zamanı (dinamik) |
| Tipin dəyişməsi | İstənilən vaxt mümkün deyil | Hər zaman mümkün |
| Tip yoxlaması | Kompilyasiya zamanı həyata keçirilir | İcra zamanı həyata keçirilir |
| Performans | Optimal | Run-time yoxlaması səbəbindən bir qədər aşağı ola bilər |
var istifadə nümunəsi:
// x tipi kompilyasiya zamanı int kimi müəyyən edilir
var x = 10;
// Növbəti sətir kompilyasiya xətası verəcək,
// çünki x-in tipi artıq int kimi müəyyən olunub
// x = "salam";
dynamic istifadə nümunəsi:
// y tipi icra zamanı dəyişə bilər
dynamic y = 10;
// y indi String tipindədir
y = "salam";
// y indi bool tipindədir
y = true;
var istifadə etmək üstünlük təşkil edir, çünki dəyişənin tipi əvvəlcədən məlumdursa, bu, tip təhlükəsizliyini və performansı artırır. dynamic isə yalnız tipin həqiqətən icra vaxtına qədər məlum olmadığı hallarda istifadə olunmalıdır (məsələn, JSON və ya refleksiya ilə işləyərkən), lakin bu, icra zamanı xətalara səbəb ola bilər.