Introduction
Rust Programming An Introduction to a latest modern programming language.
Variables and Mutability. By default variables are immutable in Rust.
Variables and Mutability. Variables are immutable in Rust. Keep mut to mutable.
Floating Point Types. Rust floating point types are f32 and f64 types.
Floating Point Types in Rust. Two types. The f32 and f64 . Default type is f64.
What is a Macro. Using Println!() macro syntax. Comments in Rust. single line.
Using println!() macro syntax. Macros as an extended version of functions.
Data types in Rust. Automatic type casting not allowed in Rust. Number separator
Data types in Rust . Automatic type casting not allowed in Rust, char data type.
Rust Constants Naming conventions. The naming conventions are similar to vars.
Rust Constant Naming Conventions. Unlike declaring variable let keyword not used
Rust Strings. String Literals and String Objects. String literal known as slices
Strings in Rust. String literals and String objects. String object : new, from()
Concatenation of strings with the + operator. A string value can be appended .
Concatenation of two strings with the + operator. .Internally uses an add() fn.
Rust Decision Making. if statement, if-else stmt, else if and nested , match etc
Decision making in Rust. if statement, if-else, else if and nested, match stmt.
Match statement in Rust. It is very similar to the switch statement in C lang.
Match statement in Rust. This is very similar to the switch statement in C.
Rust Control Statements. The for loop in Rust . for loop is a conditional loop.
Control statements in Rust. while loop and for loop in Rust. Conditional for .
Rust Functions. Defining a function in Rust. Invoking a function in Rust.
Functions in Rust. Defining a function. Invoking a function. Returning values.
Rust Array. Arrays in Rust. An array is a homogeneous collection of values.
Arrays in Rust. An array is a homogeneous collection of values of the same data.
Rust Ownership. Understanding Ownership. What is Ownership in Rust language.
Ownership in Rust. Understanding ownership. Moving ownership in Rust. Move ops.
Memory Allocation in Rust and ownership. Stack memory and Heap memory allocation
Memory allocation and ownership in Rust. Stack allocation and Heap allocation.
Rust References and Borrowing. After borrowing we have to return things back.
Rust Reference and Borrowing. Reference and Borrowing are mutual to each other.
Rust Slices. What is a slice. Slice is a pointer to a block of memory.
Rust slices. A slice is a pointer to a block of memory. Size of slice at runtime
String slices are literals. String literals are stored in binary . Immutable.
String slices are literals. String literals are immutable , immutable reference.
Rust Structure. A structure is a user defined data type with differing datatypes
Structures in Rust. Structure is a user defined datatype with differing datatype
Syntax of Structure. How to declare an instance of a structure. key :value pair
Syntax of Structure .. How to declare an instance of a structure. key value pair
Rust Enums. An enumerated type is declared using the enum keyword. Syntax enum.
Rust enum. An enumerated type is declared using the enum keyword. Custom type.
Concise control flow with if let. Rust Modules. It is a logical group of code .
Concise control flow with if let. Modules in Rust . A logical group of code.
Defining a Module. Modules contains functions that contain parameters also.
Defining a module. Modules contains functions. Usage of the use keyword.
Rust Collections. Commonly used collections : Vector, Hash Map & Hash Set .
Rust Collections. commonly used are Vector, HashMap and HashSet. Vector can grow
HashMap. A map is a collection of key-value pairs called entries. Map lookup tbl
Hash Map. A map is a collection of key-value pairs. Hash map and hash table.
Rust Error Handling. Two types of errors . Recoverable and Unrecoverable errors.
Error handling in Rust. Two types of errors. Recoverable & Unrecoverable errors.
Recoverable and Unrecoverable Errors .. Panic Macro and Unrecoverable errors .
Recoverable and Unrecoverable Errors. Panic macro stops the program execution.
More explanations on Recoverable errors. Recoverable errors do not stop the prgm
Explanations on Recoverable errors. Recoverable errors do not stop program run.
Generic Types. Generic Structures. Traits. Traits are like interfaces in Oops.
Generic Types. Generic Structures. Traits are like interfaces in Oops languages.
Reading From the Console : stdin() . Rust can read values from keyboard .
Reading from Console : stdin(). Reads from the standard input keyboard to print.
Rust Package Manager .Cargo is the package manager for Rust. Manages projects.
Rust Package Manager. Cargo is the package manager for Rust. Manages Rust prjts.
Rust Closure. Closure refers to a function within another function. Anonymous fn
Rust Closure. Closure refers to a function within another function. Anonymous fn
Rust Smart Pointers. A Smart Pointer is a data structure that behaves like a ptr
Rust Smart Pointers. A smart pointer is a data structure that behaves like a ptr
Deref<T> . Deref<T> trait is used to customize the behavior of dereference optr.
Deref<T>. Deref<T> trait is used to customize the behavior of dereference opertr
Drop trait : Smart Pointers. Drop trait is used to release the resources , file.
Drop trait . Smart Pointers. Drop trait is used to release resources like file.
RefCell<T> . RefCell<T> represents the single ownership over the data .
RefCell<T> represents the single ownership over the data that it holds.
Rust Concurrency. In this different parts of a program execute independently.
Rust Concurrency. In this different parts of a program execute independently.
Programs Threads. The Rust standard library provides support OS-level thrreads
Programs in threads. OS level threads. Threads are made from spawn() function.
How to handle data races with mutex and arc. Data race occurs in competitions.
How to handle data races with mutex and arc. Mutex a container that locks data.
Rust Trait : Multiple trait bounds. Using + operator. Using where clause .
Rust Trait : Multiple trait bounds. Using '+' operator. Using where clause.
Rust Lifetime. Lifetime defines the scope for which a reference is valid .
Rust Lifetime. Lifetime defines the scope for which a reference is valid.