Skip to content

Latest commit

History

History
31 lines (28 loc) 路 2.46 KB

book.md

File metadata and controls

31 lines (28 loc) 路 2.46 KB

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