Udemyallen

Rust Programming Language : The Complete Reference.

Master Rust fundamentals: ownership, borrowing, traits, slices, and vectors. Learn memory safety and efficient data structures.

3.7(20)
280students
35h 59m
Certificate
Prof . Mathew K K Kanhirathinkal Kurian
Prof . Mathew K K Kanhirathinkal KurianObject Oriented Programming in C++ Inside Out.

Course Content

Rust Programming Language : The Complete Reference. is an all-levels Udemy course taught by Prof . Mathew K K Kanhirathinkal Kurian. It runs 35h 59m, is taught in English, and includes a certificate of completion. Learners rate it 3.7 out of 5 from 20 reviews, with 280 students enrolled. It is a paid course, first published October 2021.

Discover Rust: Systems Programming, Memory Safety & More

Introduction to Rust for Systems Development

Rust is a powerful, modern programming language gaining immense popularity, particularly in systems programming. This means Rust excels at building the foundational components of software. You'll find Rust powering critical areas like operating systems, networking software, file systems, databases, and cryptography. Its strengths lie in concurrency, memory safety at compile time, and robust support for multithreaded applications and type safety, making it ideal for demanding projects.

Variables and Mutability in Rust

Rust emphasizes safety and control. By default, variables are immutable, promoting predictable code. However, Rust offers a unique feature called shadowing, allowing you to re-declare variables with the same name within a specific scope. The println!() macro is your go-to tool for displaying output. Remember, macros in Rust are essentially extended functions, enabling powerful code generation.

Data Types and Type Safety

Rust enforces strong type safety. Unlike some languages with automatic type casting, Rust requires explicit conversions, leading to more robust and reliable code. For enhanced readability of large numbers, you can use underscores as number separators. The mut keyword is crucial for declaring mutable variables, allowing their values to be changed.

Working with Strings and Functions

Rust distinguishes between string literals (immutable strings) and string objects (mutable strings). The match statement provides a powerful alternative to switch-case statements found in languages like C/C++. To return values from functions, use a single arrow (-->) to specify the return type. Function parameters are passed either by value or by reference, offering flexibility in how data is handled.

Rust Ownership and Memory Management

A core concept in Rust is ownership, which manages memory without relying on garbage collection. The move operation is similar to a shallow copy in other languages, transferring ownership of data. Rust utilizes both stack memory and heap memory for different data lifetimes.

Traits, References, and Borrowing

Traits in Rust are analogous to interfaces in object-oriented programming, enabling code reuse and polymorphism. The copy trait defines how data should be copied. Rust's unique references and borrowing system ensures memory safety without the need for a garbage collector. This system prevents dangling pointers and data races.

Slices, Structures, Enums, and Modules

Rust slices provide a convenient way to access portions of memory, acting as pointers to blocks of data. String slices are literals. Structures in Rust mirror those found in other languages. Rust also supports enums (enumerations) and modules for code organization and abstraction.

Rust Collections and Error Handling

Rust provides powerful collections including Vectors, Hash Maps, and Hash Sets for efficient data storage and manipulation. Rust handles error handling through recoverable and unrecoverable errors. The panic! macro is used for unrecoverable errors, halting program execution.

Generics

Rust's generic types and generic structures allow you to write code that works with various data types without code duplication. This promotes code reusability and flexibility.

$ whoami — the devs behind tutorialsearch.io

Need a web app built? Hire the team behind TutorialSearch.io

We ship fast, production-grade full-stack apps (Next.js, React, edge infra) — the same stack that powers this site.

skillshare
5.0
1h 28m
intermediate
pluralsight
skillshare
5.0(479)
3h 33m
all
skillshare