Döngü İçinde Ödünç Alma
Coddy'nin Rust Journey'sinin Temeller bölümünün bir parçası. Ders 67 / 75.
Rust'ta her değerin bir sahibi vardır ve bir değeri döngüde kullandığınızda Rust, onu ödünç almak mı (yalnızca geçici olarak ona bakmak) yoksa sahipliğini almak mı (onu tüketmek) istediğinizi bilmelidir.
Bu önemlidir, çünkü bir döngü verilerinizin sahipliğini alırsa, döngü sona erdikten sonra bu verileri artık kullanamazsınız. Bu ayrımı anlamak, Rust'ta döngüleri doğru şekilde yazmanın anahtarıdır.
Örneğin, aşağıdaki verileri ele alalım:
let numbers = vec![1, 2, 3, 4, 5];
let mut sum = 0;Yöntem 1: Verilere bakma (& kullanarak):
for number in &numbers {
sum += number;
}
println!("I can use it here: {:?}", numbers);Yöntem 2: Verileri alma (& olmadan):
for number in numbers {
sum += number;
}
// println!("Can't use {:?} anymore!", numbers);
// Bu bir hataya neden olurduŞöyle düşün:
&kullanmak fotoğraf albümüne bakmak gibidir: tüm fotoğrafları görebilirsin, ancak albüm olduğu gibi kalır&kullanmamak fotoğrafları çıkarmak gibidir: onları kullanabilirsin, ancak albüm sonrasında boş kalır
Şimdi bu stil:
for num in numbers.iter() {}Şuna benzer:
for num in &numbers {}Ve bir değişiklik döngüsü:
for num in numbers.iter_mut() {
*num *= 2;
}Can şu şekilde de yazılabilir:
for num in &mut numbers {
*num *= 2;
}Kendin dene
Bu ders bir kod alıştırması içermiyor.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Temeller bölümündeki tüm dersler
4Operatörler Bölüm 1
Aritmetik OperatörlerModül OperatörüAritmetik KısayollarKarşılaştırma OperatörleriString Karşılaştırma7Temel Girdi-Çıktı
Konsola YazdırmaKullanıcı Girdisi OkumaÖzet - 120'ye KadarÖzet - Doğru veya Yanlış5Operatörler Bölüm 2
Mantıksal Operatörler Bölüm 1Mantıksal Operatörler Bölüm 2Özet - Basit MantıkMantıksal Operatörler Bölüm 311Fonksiyonlar
Fonksiyon TanımlamaParametreler ve ArgümanlarDönüş DeğerleriBirden Fazla Dönüş DeğeriÖzet - Sigma FonksiyonuÖzet - Doğrulama Fonksiyonu14Diziler Üzerinde Gezinme
Range RehberiGelişmiş For DöngüsüDöngü İçinde Ödünç AlmaYaygın Dizi İşlemleri3Değişkenler Bölüm 2
Tür Bildirimiİsimlendirme KurallarıTür ÇıkarımıÖzet - Değişkenleri BaşlatmaTür Dönüştürme9Döngüler
Seriler Üzerinde ForWhile DöngüsüBreakContinueİç İçe DöngülerDöngü EtiketleriSonsuz DöngüÖzet - Dinamik GirdiKendi başına pratik yap: Online Rust derleyicisi