Menu
CoddyTech

Borrow dalam Loop

Termasuk bagian Dasar-Dasar dalam perjalanan Rust di Coddy. Pelajaran 67 dari 75.

Di Rust, setiap nilai memiliki pemilik, dan saat kamu menggunakan sebuah nilai dalam perulangan, Rust perlu tahu apakah kamu ingin meminjam nilai itu (hanya melihatnya sementara) atau mengambil kepemilikan atasnya (mengonsumsinya).

Hal ini penting karena jika sebuah perulangan mengambil alih kepemilikan datamu, kamu tidak dapat lagi menggunakan data tersebut setelah perulangan berakhir. Memahami perbedaan ini adalah kunci untuk menulis perulangan dengan benar di Rust.

Sebagai contoh, perhatikan data berikut:

let numbers = vec![1, 2, 3, 4, 5];
let mut sum = 0;

Metode 1: Melihat data (menggunakan &):

for number in &numbers {
    sum += number;
}
println!("I can use it here: {:?}", numbers);

Metode 2: Mengambil data (tanpa &):

for number in numbers {
    sum += number;
}
// println!("Can't use {:?} anymore!", numbers);
// Ini akan menyebabkan error

Bayangkan seperti ini:

  1. Menggunakan & seperti melihat album foto: kamu bisa melihat semua foto, tetapi album tetap utuh
  2. Tidak menggunakan & seperti mengeluarkan foto: kamu bisa menggunakannya, tetapi setelahnya album akan kosong

Sekarang gaya ini:

for num in numbers.iter() {}

Mirip dengan ini:

for num in &numbers {}

Dan perulangan mutasi:

for num in numbers.iter_mut() { 
    *num *= 2;
}

Bisa juga ditulis seperti ini:

for num in &mut numbers { 
    *num *= 2;
}

Coba sendiri

Pelajaran ini tidak memiliki tantangan kode.

quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar

Latihan sendiri: Compiler Rust online