31 lines
1.6 KiB
HTML
31 lines
1.6 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>Functional Language Features: Iterators and Closures</title>
|
||
</head>
|
||
<body>
|
||
<h1 id="functional-language-features-iterators-and-closures"><a class="header" href="#functional-language-features-iterators-and-closures">Functional Language Features: Iterators and Closures</a></h1>
|
||
<p>Rust’s design has taken inspiration from many existing languages and
|
||
techniques, and one significant influence is <em>functional programming</em>.
|
||
Programming in a functional style often includes using functions as values by
|
||
passing them in arguments, returning them from other functions, assigning them
|
||
to variables for later execution, and so forth.</p>
|
||
<p>In this chapter, we won’t debate the issue of what functional programming is or
|
||
isn’t but will instead discuss some features of Rust that are similar to
|
||
features in many languages often referred to as functional.</p>
|
||
<p>More specifically, we’ll cover:</p>
|
||
<ul>
|
||
<li><em>Closures</em>, a function-like construct you can store in a variable</li>
|
||
<li><em>Iterators</em>, a way of processing a series of elements</li>
|
||
<li>How to use closures and iterators to improve the I/O project in Chapter 12</li>
|
||
<li>The performance of closures and iterators (spoiler alert: They’re faster than
|
||
you might think!)</li>
|
||
</ul>
|
||
<p>We’ve already covered some other Rust features, such as pattern matching and
|
||
enums, that are also influenced by the functional style. Because mastering
|
||
closures and iterators is an important part of writing fast, idiomatic, Rust
|
||
code, we’ll devote this entire chapter to them.</p>
|
||
</body>
|
||
</html>
|