Web
HTML
CSS
JavaScript
TypeScript
Frontend
React
Next.js
AngularJS
Backend
Node.js
Python
Java
PHP
C
C++
Rust
Databases
SQL
MySQL
PostgreSQL
MongoDB
Tools
Git
DSA
HTML
CSS
JavaScript
SQL
Python
Java
PHP
React
Nextjs
MySQL
PostgreSQL
MongoDB
C
Cpp
Rust
Git
TypeScript
NodeJS
AngularJS
DSA
Rust
Overview
Learn Rust
This is a starter landing page for Rust. Replace this paragraph with a short, friendly description of the topic and what readers will learn from the tutorial series.
Tutorial contents
Rust Introduction
Why Rust?
Installing Rust (rustup)
Cargo — The Build Tool
Your First Program
Rust Syntax
Comments
Variables & Mutability
Data Types
Numeric Types
Strings & &str
Constants & Statics
Shadowing
Functions
Operators
if / else
Loops (loop, while, for)
match Expressions
if let & while let
Ownership
Move, Copy & Clone
Borrowing & References
Mutable References
The Borrow Checker
Slices
Tuples
Arrays
Structs
Methods & Associated Functions
Enums
Pattern Matching
The Option Type
The Result Type
panic! & Unrecoverable Errors
Error Propagation (?)
Custom Error Types
Vectors (Vec)
Strings In-Depth
HashMaps
Other Collections
Generics
Traits
Trait Bounds
Trait Objects
Default Implementations
Associated Types
Derive Macros
Lifetimes
Lifetime Elision
Closures
Iterators
Iterator Adaptors
Box<T>
Rc<T> — Reference Counting
RefCell<T> & Interior Mutability
Arc<T> & Mutex<T>
Deref & Drop Traits
Threads
Message Passing (Channels)
Shared-State Concurrency
Fearless Concurrency
Async / Await
Modules
Crates & Packages
Cargo Workspaces
Using crates.io
Macros
Declarative Macros
Procedural Macros
Unsafe Rust
Foreign Function Interface (FFI)
Advanced Traits
Advanced Types
Writing Tests
Documentation & rustdoc
Clippy & rustfmt
Debugging
Serialization (serde)
Async Runtime (tokio)
Web Frameworks Overview
Idiomatic Rust
Best Practices
Common Pitfalls
Rust Cheat Sheet
Glossary
Interview Questions