Sobes.tech
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.