Döngüler (Loops)
Bu sayfa, Dart kodunuzun akışını kontrol etmek için döngüler ve destekleyici ifadeler kullanarak nasıl kullanabileceğinizi göstermektedir:
for döngüleri
while ve do while döngüleri
break ve continue
Dart'ta kontrol akışını şu şekillerde de manipüle edebilirsiniz:
if ve switch gibi şartlarla dallanma
try, catch ve throw gibi istisnalarla For Döngüleri
For Döngüsü (For Loops)
Standart for döngüsü ile ardışık işlemler yapabilirsiniz. Örneğin:
var mesaj = StringBuffer('Dart eğlencelidir');
for (var i = 0; i < 5; i++) {
mesaj.write('!');
}Dart'ın for döngüsündeki kapanışlar, indeksin değerini yakalar. Bu, JavaScript'te sıkça rastlanan bir hata durumunu engeller. Örneğin:
var geriDonusler = [];
for (var i = 0; i < 2; i++) {
geriDonusler.add(() => print(i));
}
for (final c in geriDonusler) {
c();
}Çıktı olarak beklenen şekilde 0 ve ardından 1 yazdırılır. Bununla karşılaştırıldığında, JavaScript örneği 2 ve ardından 2 yazdırırdı.
Bazen bir Iterable türü üzerinde ardışık işlemler yaparken mevcut iterasyon sayısını bilmemeniz gerekebilir, örneğin List veya Set gibi. Bu durumda, daha temiz bir kod için for-in döngüsünü kullanın:
for (final aday in adaylar) {
aday.mulakatYap();
}Iterable'dan elde edilen değerleri işlemek için, for-in döngüsünde bir deseni de kullanabilirsiniz:
for (final Aday(isim, deneyimYil) in adaylar) {
print('$isim, $deneyimYil deneyime sahip.');
}Iterable sınıflar, başka bir seçenek olarak forEach() yöntemine sahiptir:
var koleksiyon = [1, 2, 3];
koleksiyon.forEach(print); // 1 2 3While ve Do-While
While döngüsü, döngüden önce koşulu değerlendirir:
while (!tamamlandiMi()) {
birSeyYap();
}Do-while döngüsü, döngüden sonra koşulu değerlendirir:
do {
satirYaz();
} while (!sayfaSonundaMi());Break ve Continue
Döngüyü durdurmak için break kullanın:
while (true) {
if (kapatmaIstegi()) break;
gelenIstekleriIsle();
}Bir sonraki döngü iterasyonuna atlamak için continue kullanın:
for (int i = 0; i < adaylar.length; i++) {
var aday = adaylar[i];
if (aday.deneyimYil < 5) {
continue;
}
aday.mulakatYap();
}Liste veya set gibi bir Iterable kullanıyorsanız, önceki örneği nasıl yazacağınız farklılık gösterebilir:
adaylar
.where((c) => c.deneyimYil >= 5)
.forEach((c) => c.mulakatYap());Last updated
Was this helpful?