Description
In this course, you will learn :
- How to install Rust and then become acquainted with fundamental concepts such as variables, data types, method syntax, enums, and more.
- Discover how Rust's distinct Ownership Principles influence the language.
- Also covered are data handling, pattern matching, and error handling.
- The course also shows how to use generic types and traits, as well as File I/O, Iterators, and Closure.
- In Rust, investigate Smart Pointers, Concurrency, and Object-Oriented programming.
Syllabus :
1. Basic Programming Concepts
- Variables
- Mutability
- Data Types
- Integers
- Floating-point
- Booleans
- Characters
- Tuples and Arrays - Compound Data Types
- Comments
- Functions in Rust
- Statement vs Expression - Returning value from function
- Control Flow - if/else
- Control Flow - while loops
- Control Flow - for loops
2. Rust Ownership Principles
- Rust Ownership Model 1
- Rust Ownership Model 2 - Memory Allocation
- Rust Ownership Model 3 - Clone and Copy
- Rust Ownership Model 4 - References and Borrowing
- Rust Ownership Model 5 - Data Races and Mutable References
- Rust Ownership Model 6 - Slices
3. Structuring Data - Structs
- Using Structs
- Initializing Structs - Field Init Shorthand
- Initializing Structs - Struct Update Syntax
- Tuple Structs
- Examples of Struct - Area of Rectangle
4. Enums and Pattern Matching
- Enums
- Option Enum
- Match statement and Enum
5. Error handling
- Error handling in Rust
- Unrecoverable errors with panic!
- Recoverable errors with Result enum
- Shortcuts to Panic with Error: unwrap and expect
6. Generic Types and Traits
- Generics : Introduction
- Generic Struct
- Generic Functions
- Traits: Introduction
- Defining a Trait
7. Input/Output in Rust
- Input/Output - Introduction
- Input/Output - Read trait
- Write Trait (Writers)
8. File I/O
- File I/O: File struct
- File I/O: Write to file
- File I/O: Read from file
- OpenOptions struct
- Append to a file
9. Iterators and Closures
- Introduction to Iterators
- Methods of getting Iterator of Collection
- Closure
10. Smart Pointers
- Smart Pointers in Rust
- Box<T> Smart Pointer
- Deref trait
- Drop trait
- Rc<T> Smart Pointer
- RefCell<T>