2 kinds of chapters:
- Concept chapters
- Project chapters (Ch - 2, 12, 20)
- Chapter 1 explains how to install Rust, how to write a “Hello, world!” program, and how to use Cargo, Rust’s package manager and build tool.
- Chapter 2 is a hands-on introduction to writing a program in Rust, having you build up a number guessing game.
- Chapter 3 covers Rust features that are similar to those of other programming languages.
- In Chapter 4 you’ll learn about Rust’s ownership system.
- Chapter 5 discusses structs and methods.
- Chapter 6 covers enums, match expressions, and the if let control flow construct.
- In Chapter 7, you’ll learn about Rust’s module system and about privacy rules for organizing your code and its public Application Programming Interface (API).
- Chapter 8 discusses some common collection data structures that the standard library provides, such as vectors, strings, and hash maps.
- Chapter 9 explores Rust’s error-handling philosophy and techniques.
- Chapter 10 digs into generics, traits, and lifetimes, which give you the power to define code that applies to multiple types.
- Chapter 11 is all about testing, which even with Rust’s safety guarantees is necessary to ensure your program’s logic is correct.
- In Chapter 12, we’ll build our own implementation of a subset of functionality from the grep command line tool that searches for text within files.
- Chapter 13 explores closures and iterators: features of Rust that come from functional programming languages.
- In Chapter 14, we’ll examine Cargo in more depth and talk about best practices for sharing your libraries with others.
- Chapter 15 discusses smart pointers that the standard library provides and the traits that enable their functionality.
- In Chapter 16, we’ll walk through different models of concurrent programming and talk about how Rust helps you to program in multiple threads fearlessly.
- Chapter 17 looks at how Rust idioms compare to object-oriented programming principles you might be familiar with.
- Chapter 18 is a reference on patterns and pattern matching, which are powerful ways of expressing ideas throughout Rust programs.
- Chapter 19 contains a smorgasbord of advanced topics of interest, including unsafe Rust, macros, and more about lifetimes, traits, types, functions, and closures.
- In Chapter 20, we’ll complete a project in which we’ll implement a low-level multithreaded web server!
Appendix | What it talks about |
---|---|
A | Rust's keywords |
B | Rust’s operators and symbols |
C | Derivable traits provided by the standard library |
D | Some useful development tools |
E | Explains Rust editions |
F | Translations of the book |
G | How Rust is made and what nightly Rust is |