- Katılım
- 7 Ocak 2026
- Mesajlar
- 290
- Tepkime puanı
- 2
- Puanları
- 18
Rust'ta döngüler, sadece kodu tekrar etmek için değil, aynı zamanda verileri güvenli ve performanslı bir şekilde işlemek için tasarlanmıştır. Rust'ın üç ana döngü mekanizması vardır:
1.
Rust
2.
Bir koşul
Rust
3.
Rust'ta en çok kullanılan döngü tipidir. Diziler veya aralıklar (ranges) üzerinde gezinmek için
Rust
4. Döngü Kontrolü:
Rust
loop, while ve en yeteneklisi olan for.1. loop: Sonsuz Döngü ve Değer Döndürme
loop komutu, siz açıkça break diyene kadar kodu sonsuza dek çalıştırır. Rust'ta loop'un en benzersiz özelliği, bir expression (deyim) gibi davranıp döngü bittiğinde bir değer döndürebilmesidir.Rust
Kod:
let mut sayac = 0;
let sonuc = loop {
sayac += 1;
if sayac == 10 {
break sayac * 2; // Döngüden çık ve bu değeri 'sonuc'a ata
}
};
println!("Sonuç: {}", sonuc); // Sonuç: 20
2. while: Koşullu Döngü
Bir koşul true olduğu sürece çalışmaya devam eder. Genellikle bir sayacı kontrol etmek veya bir bayrak (flag) durumunu izlemek için kullanılır.Rust
Kod:
let mut sayi = 3;
while sayi != 0 {
println!("{}!", sayi);
sayi -= 1;
}
println!("Ateşle!");
3. for: Güvenli ve Modern Veri İşleme
Rust'ta en çok kullanılan döngü tipidir. Diziler veya aralıklar (ranges) üzerinde gezinmek için for kullanmak, while kullanmaktan çok daha güvenlidir çünkü "indis hatalarını" (out of bounds) ve sonsuz döngü risklerini ortadan kaldırır.Aralıklar (Ranges) ile Kullanım:
Rust
Kod:
// 1'den 3'e kadar (4 dahil değil)
for numara in 1..4 {
println!("Sayı: {}", numara);
}
Koleksiyonlar (Arrays/Vectors) ile Kullanım:
Bir koleksiyonun elemanlarını işlemek içinfor döngüsü iterator (tekrarlayıcı) mantığını kullanır.Rust
Kod:
let meyveler = ["Elma", "Armut", "Muz"];
for meyve in meyveler {
println!("Lezzetli bir {}", meyve);
}
4. Döngü Kontrolü: break ve continue
break: Döngüyü anında sonlandırır.continue: Döngünün geri kalanını atlar ve bir sonraki tura geçer.
Döngü Etiketleri (Loop Labels)
Rust'ta iç içe döngülerle çalışırken, hangi döngüden çıkacağınızı belirlemek için etiketleri kullanabilirsiniz. Bu, özellikle karmaşık algoritmalarda hayat kurtarır.Rust
Kod:
'dis_dongu: loop {
println!("Dış döngü");
loop {
println!("İç döngü");
break 'dis_dongu; // Doğrudan en dıştaki döngüyü bitirir
}
}
Özet: Hangisini Seçmeli?
| Döngü | Ne Zaman Kullanılmalı? |
loop | Bir işlem başarılı olana kadar tekrar etmek veya döngüden bir sonuç döndürmek istediğinizde. |
while | Karmaşık bir mantıksal koşula bağlı kalmanız gerektiğinde. |
for | Bir dizi, liste veya belirli bir sayı aralığı üzerinde işlem yaparken (Varsayılan tercihiniz olmalı). |