Menu
Coddy logo textTech

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:

  1. & kullanmak fotoğraf albümüne bakmak gibidir: tüm fotoğrafları görebilirsin, ancak albüm olduğu gibi kalır
  2. & 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.

quiz iconKendini test et

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

Kendi başına pratik yap: Online Rust derleyicisi