Rust

Iterators & Closures

Iterator trait, iterator adapters (map, filter, fold), sintaks closure, move closures, Fn traits

22 pertanyaan wawancaraยท
Mid-Level
1

Trait mana yang harus diimplementasikan oleh sebuah tipe agar dapat digunakan dalam loop for di Rust?

Jawaban

Trait IntoIterator memungkinkan sebuah tipe dikonversi menjadi iterator. Loop for secara otomatis memanggil into_iter() pada ekspresi. Tipe seperti Vec, array, dan range mengimplementasikan trait ini secara default, sehingga dapat diiterasi langsung dengan for.

2

Metode mana dari trait Iterator yang wajib diimplementasikan?

Jawaban

Metode next() adalah satu-satunya metode yang wajib ada pada trait Iterator. Metode ini mengembalikan Option<Self::Item>, yaitu Some(item) jika masih ada elemen, atau None ketika iterasi selesai. Semua metode lain seperti map, filter, atau collect memiliki implementasi default berdasarkan next().

3

Apa perbedaan antara iter(), iter_mut(), dan into_iter() pada Vec<T>?

Jawaban

iter() mengembalikan iterator atas referensi immutable (&T), iter_mut() atas referensi mutable (&mut T), dan into_iter() mengonsumsi Vec dan mengembalikan elemen berdasarkan nilai (T). Pilihannya tergantung pada apakah Anda ingin membaca, memodifikasi, atau mengambil kepemilikan elemen.

4

Apa itu iterator lazy di Rust dan mengapa penting?

5

Apa sintaks yang benar untuk mendefinisikan closure yang menerima dua parameter i32 dan mengembalikan jumlahnya?

+19 pertanyaan wawancara

Kuasai Rust untuk wawancara berikutnya

Akses semua pertanyaan, flashcards, tes teknis, latihan code review dan simulator wawancara.

Mulai gratis