Dart Programlama - Değişkenler

Değişken, değerleri depolayan “bellekte adlandırılmış bir alandır”. Başka bir deyişle, bir programdaki değerler için bir kap görevi görür. Değişken adlarına tanımlayıcılar denir. Bir tanımlayıcı için adlandırma kuralları aşağıdadır -

  • Tanımlayıcılar anahtar kelime olamaz.

  • Tanımlayıcılar harf ve sayı içerebilir.

  • Tanımlayıcılar, alt çizgi (_) ve dolar ($) işareti dışında boşluk ve özel karakterler içeremez.

  • Değişken isimleri bir sayı ile başlayamaz.

Tür Sözdizimi

Kullanılmadan önce bir değişken bildirilmelidir. Dart, aynısını elde etmek için var anahtar sözcüğünü kullanır. Bir değişken bildirmek için sözdizimi aşağıda verildiği gibidir -

var name = 'Smith';

Dart'taki tüm değişkenler, değeri içermek yerine değere bir başvuru saklar. Name adlı değişken, "Smith" değerine sahip bir String nesnesine başvuru içerir.

Dart destekleri type-checkingdeğişken adının önüne veri türü ekleyerek. Tür denetimi, bir değişkenin yalnızca bir veri türüne özgü verileri tutmasını sağlar. Aynı sözdizimi aşağıda verilmiştir -

String name = 'Smith'; 
int num = 10;

Aşağıdaki örneği düşünün -

void main() { 
   String name = 1; 
}

Değişkene atanan değer, değişkenin veri türüyle eşleşmediğinden yukarıdaki kod parçası bir uyarıya neden olur.

Çıktı

Warning: A value of type 'String' cannot be assigned to a variable of type 'int'

Tüm başlatılmamış değişkenlerin başlangıç ​​değeri boştur. Bunun nedeni, Dart'ın tüm değerleri nesne olarak görmesidir. Aşağıdaki örnek aynı şeyi göstermektedir -

void main() { 
   int num; 
   print(num); 
}

Çıktı

Null

Dinamik anahtar kelime

Statik bir tür olmadan bildirilen değişkenler dolaylı olarak dinamik olarak bildirilir. Değişkenler, var anahtar sözcüğü yerine dynamic anahtar sözcüğü kullanılarak da bildirilebilir.

Aşağıdaki örnek aynı şeyi göstermektedir.

void main() { 
   dynamic x = "tom"; 
   print(x);  
}

Çıktı

tom

Final ve Const

final ve constanahtar kelime sabitleri bildirmek için kullanılır. Dart, final veya const anahtar sözcüğü kullanılarak bildirilen bir değişkenin değerlerinin değiştirilmesini engeller. Bu anahtar kelimeler, değişkenin veri türü ile bağlantılı olarak veya bunun yerine kullanılabilir.var anahtar kelime.

constanahtar sözcük, derleme zamanı sabitini temsil etmek için kullanılır. Kullanılarak bildirilen değişkenlerconst anahtar kelime dolaylı olarak nihaidir.

Sözdizimi: final Keyword

final variable_name

VEYA

final data_type  variable_name

Sözdizimi: const Anahtar Kelime

const variable_name

VEYA

const data_type variable_name

Örnek - son Anahtar Kelime

void main() { 
   final val1 = 12; 
   print(val1); 
}

Çıktı

12

Örnek - sabit Anahtar Kelime

void main() { 
   const pi = 3.14; 
   const area = pi*12*12; 
   print("The output is ${area}"); 
}

Yukarıdaki örnek iki sabit beyan eder, pi ve area, kullanmak constanahtar kelime. area değişkenin değeri bir derleme zamanı sabitidir.

Çıktı

The output is 452.15999999999997

Note - Sadece constdeğişkenler bir derleme süresi sabitini hesaplamak için kullanılabilir. Derleme zamanı sabitleri, değerleri derleme zamanında belirlenecek sabitlerdir

Misal

Dart, ile bildirilen değişkenleri değiştirmek için bir girişimde bulunulursa bir istisna atar. finalveya const anahtar kelime. Aşağıda verilen örnek aynı şeyi göstermektedir -

void main() { 
   final v1 = 12; 
   const v2 = 13; 
   v2 = 12; 
}

Yukarıda verilen kod aşağıdaki hatayı verecektir: output -

Unhandled exception: 
cannot assign to final variable 'v2='.  
NoSuchMethodError: cannot assign to final variable 'v2=' 
#0  NoSuchMethodError._throwNew (dart:core-patch/errors_patch.dart:178) 
#1      main (file: Test.dart:5:3) 
#2    _startIsolate.<anonymous closure> (dart:isolate-patch/isolate_patch.dart:261) 
#3    _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:148)