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)