Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Fitur Bahasa Fungsional: Iterators dan Closures

Desain Rust mengambil inspirasi dari banyak bahasa dan teknik pemrograman yang sudah ada, dan salah satu pengaruh yang signifikan adalah functional programming (pemrograman fungsional). Pemrograman dengan gaya fungsional sering kali mencakup penggunaan fungsi sebagai nilai, yaitu dengan memasukkan fungsi sebagai argumen, mengembalikannya dari fungsi lain, menaruhnya ke variabel untuk dieksekusi nanti, dan seterusnya.

Di bab ini, kita tidak akan berdebat soal apa itu pemrograman fungsional atau apa yang bukan, tapi kita bakal membahas beberapa fitur Rust yang mirip dengan fitur-fitur di banyak bahasa pemrograman yang sering disebut sebagai bahasa fungsional.

Secara lebih spesifik, kita bakal membahas:

  • Closures, sebuah struktur mirip fungsi yang bisa kita simpan di dalam sebuah variabel
  • Iterators, sebuah cara buat memproses serangkaian elemen
  • Gimana cara memakai closures dan iterators buat meningkatkan project I/O yang kita buat di Bab 12
  • Performa dari closures dan iterators (bocoran: performa mereka lebih cepat dari yang mungkin kita bayangkan!)

Kita sebenarnya sudah membahas beberapa fitur Rust lainnya, seperti pattern matching dan enums, yang juga terpengaruh oleh gaya fungsional. Karena menguasai closures dan iterators adalah bagian penting dari menulis kode Rust yang idiomatik dan kencang, kita bakal mendedikasikan seluruh bab ini buat membahas mereka.