RUST is an optional module and is planned to start on DAY1.
DAY1: Preparation stage
1. Specific requirements
- Programming environment setup:
VSCode installation and Rust-analyzer plug-in installation
For the VSCode installation environment, please refer to C++ Week1.
Install Rust and Cargo toolchain
2. Display of learning results
- Organize notes on problems and solutions encountered in setting up a programming environment
- Use Cargo to create a project, write a Hello word program, and complete program compilation and execution.
3. Reference materials
DAY2-DAY3: Learning basic knowledge of Rust
1. Specific requirements
Learn the following knowledge points:
- Basic data types: integer, floating point, string, tuple, array, etc., variable mutability
- Composite data types enum, struct, trait
- Container types vector, HashMap, HashSet, BTreeMap, BTreeSet
- Rust flow control if while for, and pattern match statements if let, while let
- Rust function, closure, iterator learning
- Macro writing in Rust
Specifically, you can learnRust language official documentation The following chapters:
- Chapter 3 Common Programming Concepts
- Chapter 5 Using Structs to Structure Related
- Chapter 6 Enums and Pattern Matching
- Chapter 8 Common Collections
- Section 10.2 Traits: Defining Shared Behavior
- Chapter 13 Function Language Features:Iterators and Closures About closure and itertor
- Chapter 17 Object Oriented Programming Features of Rust
- Section 19.5 Macros
2. Display of learning results
3. Reference materials
DAY4-DAY7: Rust advanced knowledge learning
1. Specific requirements
Learn the following knowledge points:
- Type system, generic programming, trait system, type conversion
- The ownership system includes ownership mechanism, Copy and Clone, reference and borrowing, life cycle, and Slice.
- Smart pointers Box, Rc, RefCell
- Concurrent programming, Atomic, multi-threading and asynchronous Async/Await concurrency, Mutex, Arc
- Error handling Result, Panic, Option,? Operator
- Function-oriented programming
Specifically, you can learnRust language official documentation The following chapters:
- Chapter 4 Understanding Ownership
- Chapter 9 Error Handling
- Chapter 10 Generic Types, Traits and Lifetimes
- Chapter 13 Functional Language Features: Iterators and Closures Unfinished Content
- Chapter 15 Smart Pointers
- Chapter 16 Fearless Concurrency
2. Display of learning results
3. Reference materials
Books, blogs, videos:
- Official rust Necronomicon
- Rust language bible
- Rust programming language
- Rust atomic operations and locks
- Rust Atoms and Locks—Chinese Translation
- Awesome-rust
- Learn Rust Easy - Chinese introductory book
- "How to Program in Rust"
- The Definitive Guide to Rust
- "Rust Programming·Second Edition"
- "In-depth understanding of concurrent programming in Rust"
- "Rust in Action"
- 《The Rust Programming Language》
- 《Rust For Rustaceans》
- 《Programming Rust—Fast, Safe Systems Development》
- 《Command-Line Rust》
- 《Rust Crash Course》
- 《Systems Programming Rust》
- 《Rust Atomics and Locks》
Community:
Video: