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

Functional Language Features: Iterator และ Closure

การออกแบบของ Rust ได้รับแรงบันดาลใจจากภาษาและเทคนิคที่มีอยู่หลายตัว และอิทธิพลที่สำคัญหนึ่งคือ functional programming การ programming ในสไตล์ functional มักรวมการใช้ฟังก์ชันเป็นค่าโดยส่งพวกมันในอาร์กิวเมนต์, return พวกมันจากฟังก์ชันอื่น, assign พวกมันให้ตัวแปรเพื่อ execute ภายหลัง และอื่น ๆ

ในบทนี้ เราจะไม่ถกเถียงประเด็นว่า functional programming คืออะไรหรือ ไม่ใช่ แต่จะพูดถึงฟีเจอร์บางอย่างของ Rust ที่คล้ายกับฟีเจอร์ในหลาย ภาษาที่มักถูกเรียกว่า functional

เจาะจงมากขึ้น เราจะครอบคลุม:

  • Closure โครงสร้างคล้ายฟังก์ชันที่คุณเก็บในตัวแปรได้
  • Iterator วิธีในการประมวลผลชุดของ element
  • วิธีใช้ closure และ iterator เพื่อปรับปรุงโปรเจกต์ I/O ในบทที่ 12
  • Performance ของ closure และ iterator (spoiler alert — พวกมันเร็วกว่า ที่คุณคิด!)

เราครอบคลุมฟีเจอร์ Rust อื่นบางอย่างไปแล้ว เช่น pattern matching และ enum ที่ได้รับอิทธิพลจากสไตล์ functional ด้วย เพราะการเก่ง closure และ iterator เป็นส่วนสำคัญในการเขียนโค้ด Rust ที่เร็วและ idiomatic เราจะ อุทิศบททั้งบทนี้ให้พวกมัน