Rust Book
with quiz
- Hello World
- Guessing Game: pattern match, expection
- Ownership: reference, borrow, slice
- Structure: implementation, associated functions, debug
- Enumeration:
Option<T>
, pattern match,if let
- Cargo Project: bin crate, lib crate,
mod
,pub
,use
- Collections: vector, string, hash map
- Error Handling: error kind, recover errors, ? operator
- Generics: trait, where clauses, lifetimes, lifetime elision rules, static lifetime
- Testing: test macro, super, left!=right, custom failure message,
Result<T, E>
, should_panic, expected, help, threads, show output, select, ignore, unit tests, integration tests, submodules - I/O Project - minigrep: refactoring, CLI, file i/o, error handling in main/lib, unittest, process exit, environment variables
- Functional: closures, Fn traits, iterators, imporring minigrep, performance
- More Cargo: profiles, workspace, documentation, crates.io, binary, custom commands
- Smart Pointers: reference count, box, rc, refcell, weak, deref, drop
- Concurrency: threads, spawn, join, channel, mutex, arc, sync, send
- Object-Oriented: encapsulation, public & private, inheritance, trait, polymorphism, dynamic dispatch, design pattern with types
- Patterns & Matching: refutable patterns, irrefutable patterns, match, match guard,
@
binding,_
ignore - Advanced
- unsafe: raw pointer, extern, mutable static variable
- traits: associated types, fully qualified syntax, supertraits, newtype
- types: type aliases, never type,
Sized
trait - function pointer, return clousre
- macro: declarative macro,
macro_rules!
, procedural macro,derive
, attribute-like, function-like
- Final Project - Multithreaded Web Server
- Appendix
- read: derivable traits