Search icon CANCEL
Subscription
0
Cart icon
Your Cart (0 item)
Close icon
You have no products in your basket yet
Save more on your purchases! discount-offer-chevron-icon
Savings automatically calculated. No voucher code required.
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Newsletter Hub
Free Learning
Arrow right icon
timer SALE ENDS IN
0 Days
:
00 Hours
:
00 Minutes
:
00 Seconds
The Rust Programming Handbook
The Rust Programming Handbook

The Rust Programming Handbook: An end-to-end guide to mastering Rust fundamentals

eBook
$39.59 $43.99
Paperback
$54.99
Subscription
Free Trial
Renews at $19.99p/m

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Table of content icon View table of contents Preview book icon Preview Book

The Rust Programming Handbook

Rust Syntax and Functions

In this chapter, we will dive deep into the foundational aspects of Rust programming, focusing on the language’s syntax and functions. Understanding these basics is crucial as they form the building blocks for more advanced Rust programming concepts. This chapter aims to provide a comprehensive overview of variable declarations, data types, functions, control flow constructs, and error handling in Rust. By the end of this chapter, you will have a solid understanding of how to write basic Rust programs, manipulate data, and handle errors effectively.

Rust is known for its strict and expressive syntax, which enforces safety and correctness in your code. By learning Rust’s syntax, you will not only write more reliable programs but also gain a deeper understanding of how Rust ensures memory safety and performance. We will start with the fundamental concept of variable declarations and mutability, exploring how Rust handles data storage and manipulation...

Variable declarations and mutability

One of the first concepts you’ll encounter in Rust is how it handles variables, and this reveals a core piece of its design philosophy. In Rust, variables are immutable by default. This might feel different if you’re coming from languages such as Python, JavaScript, C++, or Java, where variables are typically mutable unless you explicitly mark them as constant (e.g., with const or final). Rust flips this convention on its head: you must explicitly opt in to mutability. This design choice is intentional; it encourages a safer programming style by preventing accidental or unintended changes to a variable’s value, which is a common source of bugs.

This emphasis on immutability makes your code easier to reason about, as you know that most variables won’t change their value after being initialized. However, Rust is a practical language and understands that mutability is often necessary. For those situations, it provides...

Data types and structures

Rust provides a rich set of built-in data types that allow you to store and manipulate data efficiently. Understanding these types is essential for effective Rust programming. Rust’s data types can be broadly categorized into scalar types and compound types.

Scalar types

Scalar types represent a single value. Rust’s scalar types include integers, floating-point numbers, Booleans, and characters.

Integers

Integers are whole numbers, and Rust provides a variety of types for them, giving you precise control over memory and data representation. Each integer type is defined by its size (the number of bits it uses, such as 8, 16, 32, 64, or 128) and whether it is signed (can be negative, starts with i) or unsigned (only zero and positive, starts with u). For example, an i8 can hold numbers from -128 to 127, while a u8 can hold numbers from 0 to 255. Choosing the appropriate type allows you to optimize memory usage and ensure your variables...

Functions in Rust

Functions are a core component of Rust programming. They provide the means to organize your code into reusable blocks. Functions encapsulate logic, making your code more modular, maintainable, and easier to understand. We will explore more function in Chapter 3, but I want to give you a quick overview now.

This section will explore Rust’s function syntax, parameter passing, return values, and how Rust’s ownership model impacts functions.

Function syntax

In Rust, functions are defined using the fn keyword, followed by the function name, a list of parameters, and the function body enclosed in curly braces. Functions can take zero or more parameters and return a value.

fn main() {
    println!("Hello, world!");
}
fn greet(name: &str) {
    println!("Hello, {}!", name);
}
fn add(a: i32, b: i32) -> i32 {
    a + b
}

Let’s break down the preceding example:

  • main is the entry point of a Rust...

Control flow constructs

Control flow constructs are essential in any programming language, as they allow you to dictate the flow of execution in your programs. Rust provides a variety of control flow mechanisms, including conditional statements (if and else), loops (loop, while, and for), and pattern matching (match). These constructs enable you to build dynamic and responsive applications by controlling how and when different parts of your code are executed.

if and else statements

Conditional statements in Rust allow you to execute code based on certain conditions. The most common conditional statements are if and else.

fn main() { 
    let number = 7; 
    if number < 5 { 
        println!("The number is less than 5"); 
    } else if number > 5 { 
        println!("The number is greater than 5"); 
    } else { 
        println!("The number is exactly 5"); 
    }
}

In this example, the if statement checks if number is less than...

Understanding Rust’s approach to error handling

Before we wrap up this chapter, I want to dedicate some time to understanding a very important aspect and feature of Rust: error handling. We will dive deeper into error handling in Chapter 6, but I want to give you an overview of it in this chapter.

Error handling is crucial to building robust and reliable applications. Rust provides a powerful and flexible approach to error handling that ensures your programs can gracefully manage unexpected conditions and recover from errors. In this section, we’ll explore Rust’s primary error handling tools: the Result and Option types and the panic! macro.

This short section will give you a basic understanding of these concepts, but error handling in Rust is rich and multifaceted.

We will dedicate an entire chapter to diving deeper into these topics later in the book.

For now, let’s scratch the surface and get acquainted with Rust’s fundamental...

Summary

In this chapter, we covered the fundamental aspects of Rust syntax and functions, focusing on variable declarations, data types, structs, enums, control flow constructs, and error handling. Here’s a quick recap:

  • Variable declarations and mutability: Understanding the importance of immutability by default and the use of the mut keyword for mutable variables. The concept of shadowing to safely reuse variable names.
  • Data types and structures: A comprehensive look at Rust’s scalar and compound types, including integers, floating-point numbers, booleans, characters, tuples, arrays, and slices.
  • Structs and enums: Defining and using custom data types with structs and enums, including methods and associated functions.
  • Control flow constructs: Utilizing if and else statements, loops (loop, while, and for), and pattern matching with match to manage the flow of your programs.
  • Error handling: An introduction to Rust’s approach to...

Questions and assignments

Note that the answers to the questions and assignment solutions can be found in Appendix B (Online).

Questions

Variable declarations and mutability

  1. How do you declare a variable in Rust?
  2. What is the difference between immutable and mutable variables?
  3. What is shadowing, and how does it differ from mutability?

Data types and structures

  1. What are the basic scalar types in Rust?
  2. How do you define and use a tuple in Rust?
  3. What is the difference between arrays and slices in Rust?
  4. How do you define a struct in Rust, and what are the methods and associated functions for structs?
  5. What is an enum, and how can you use it to define different types of values?

Control flow constructs

  1. How do you use if and else statements in Rust?
  2. What are the different types of loops in Rust, and how do you use them?
  3. How does pattern matching with match work in Rust?
  4. What is...
Left arrow icon Right arrow icon
Download code icon Download Code

Key benefits

  • Boost your career by mastering Rust's unique features, from systems programming to secure web applications
  • Stay ahead of the curve with insights into the latest tools and frameworks within the Rust ecosystem
  • Turn theoretical knowledge into practical expertise with engaging projects and step-by-step tutorials

Description

The Rust Programming Handbook is a deeply engaging and meticulously crafted book designed to immerse programmers into the intricate world of Rust’s core principles and sophisticated features. This book not only enhances your coding skills but also prepares you to tackle complex challenges in software development, optimizing your code for better performance and reliability. You will explore Rust’s powerful concurrency models, rigorous memory safety guarantees, and its versatile trait system. Discover the foundational elements that make Rust a standout language for developing safe and efficient applications. The book will show you how these core principles can seamlessly transition into real-world applications. You will learn how to apply Rust's capabilities to systems programming and web development, extending the reach of its safety and efficiency benefits across different programming domains. Whether it's creating low-level system components or high-performance web services, the book provides practical examples to integrate Rust effectively into a variety of projects. Elevate your coding skills and become a sought-after professional in the tech industry with this essential guide. Rust from Beginner to Professional is your definitive toolkit for mastering advanced Rust programming techniques and writing high-quality code.

Who is this book for?

This book is ideal for readers with a foundational knowledge of Rust as well as experienced developers from other programming backgrounds. Whether you're starting your journey with Rust and aiming to deepen your expertise, or you're an experienced developer in languages like C++, Java, or Python transitioning to Rust, this book offers a comprehensive understanding of its core mechanics. Technical leads and software architects who aim to implement Rust in their projects will find valuable insights into enhancing performance and safety, making it a crucial addition to their professional toolkit.

What you will learn

  • Thoroughly understand Rust's unique programming model and its advantages for software development
  • Implement advanced features like smart pointers, concurrency, and error handling to write efficient and secure code
  • Seamlessly incorporate Rust into your projects, enhancing both performance and scalability
  • Prepare for sophisticated development tasks in systems and web programming using Rust
  • Navigate Rust's ecosystem with the latest tools and frameworks to stay ahead in technology

Product Details

Country selected
Publication date, Length, Edition, Language, ISBN-13
Publication date : Dec 24, 2025
Length: 768 pages
Edition : 1st
Language : English
ISBN-13 : 9781836208860
Category :
Languages :
Tools :

What do you get with eBook?

Product feature icon Instant access to your Digital eBook purchase
Product feature icon Download this book in EPUB and PDF formats
Product feature icon Access this title in our online reader with advanced features
Product feature icon DRM FREE - Read whenever, wherever and however you want
Product feature icon AI Assistant (beta) to help accelerate your learning
Modal Close icon
Payment Processing...
tick Completed

Billing Address

Product Details

Publication date : Dec 24, 2025
Length: 768 pages
Edition : 1st
Language : English
ISBN-13 : 9781836208860
Category :
Languages :
Tools :

Packt Subscriptions

See our plans and pricing
Modal Close icon
$19.99 billed monthly
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Simple pricing, no contract
$199.99 billed annually
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts
$279.99 billed in 18 months
Feature tick icon Unlimited access to Packt's library of 7,000+ practical books and videos
Feature tick icon Constantly refreshed with 50+ new titles a month
Feature tick icon Exclusive Early access to books as they're written
Feature tick icon Solve problems while you work with advanced search and reference features
Feature tick icon Offline reading on the mobile app
Feature tick icon Choose a DRM-free eBook or Video every month to keep
Feature tick icon PLUS own as many other DRM-free eBooks or Videos as you like for just $5 each
Feature tick icon Exclusive print discounts

Table of Contents

19 Chapters
Getting Started with Rust Chevron down icon Chevron up icon
Rust Syntax and Functions Chevron down icon Chevron up icon
Functions in Rust Chevron down icon Chevron up icon
Ownership, Borrowing, and References Chevron down icon Chevron up icon
Composite Types in Rust and the Module System Chevron down icon Chevron up icon
Introduction to Error Handling Chevron down icon Chevron up icon
Polymorphism and Lifetimes Chevron down icon Chevron up icon
Object-Oriented Programming in Rust Chevron down icon Chevron up icon
Thinking Functionally in Rust Chevron down icon Chevron up icon
Testing in Rust Chevron down icon Chevron up icon
Smart Pointers and Memory Management Chevron down icon Chevron up icon
Managing System Resources Chevron down icon Chevron up icon
Concurrency and Parallelism Chevron down icon Chevron up icon
Rust for Web Development: Building Full-Stack Applications Chevron down icon Chevron up icon
System Programming in Rust: Concrete Examples Chevron down icon Chevron up icon
Dockerization and Deployment of Rust Applications Chevron down icon Chevron up icon
Unlock Your Exclusive Benefits Chevron down icon Chevron up icon
Other Books You May Enjoy Chevron down icon Chevron up icon
Index Chevron down icon Chevron up icon

Customer reviews

Rating distribution
Full star icon Full star icon Full star icon Full star icon Full star icon 5
(1 Ratings)
5 star 100%
4 star 0%
3 star 0%
2 star 0%
1 star 0%
Alain Couniot Feb 12, 2026
Full star icon Full star icon Full star icon Full star icon Full star icon 5
An excellent product, like many in the Packt Pub range
Feefo Verified review Feefo
Get free access to Packt library with over 7500+ books and video courses for 7 days!
Start Free Trial

FAQs

How do I buy and download an eBook? Chevron down icon Chevron up icon

Where there is an eBook version of a title available, you can buy it from the book details for that title. Add either the standalone eBook or the eBook and print book bundle to your shopping cart. Your eBook will show in your cart as a product on its own. After completing checkout and payment in the normal way, you will receive your receipt on the screen containing a link to a personalised PDF download file. This link will remain active for 30 days. You can download backup copies of the file by logging in to your account at any time.

If you already have Adobe reader installed, then clicking on the link will download and open the PDF file directly. If you don't, then save the PDF file on your machine and download the Reader to view it.

Please Note: Packt eBooks are non-returnable and non-refundable.

Packt eBook and Licensing When you buy an eBook from Packt Publishing, completing your purchase means you accept the terms of our licence agreement. Please read the full text of the agreement. In it we have tried to balance the need for the ebook to be usable for you the reader with our needs to protect the rights of us as Publishers and of our authors. In summary, the agreement says:

  • You may make copies of your eBook for your own use onto any machine
  • You may not pass copies of the eBook on to anyone else
How can I make a purchase on your website? Chevron down icon Chevron up icon

If you want to purchase a video course, eBook or Bundle (Print+eBook) please follow below steps:

  1. Register on our website using your email address and the password.
  2. Search for the title by name or ISBN using the search option.
  3. Select the title you want to purchase.
  4. Choose the format you wish to purchase the title in; if you order the Print Book, you get a free eBook copy of the same title. 
  5. Proceed with the checkout process (payment to be made using Credit Card, Debit Cart, or PayPal)
Where can I access support around an eBook? Chevron down icon Chevron up icon
  • If you experience a problem with using or installing Adobe Reader, the contact Adobe directly.
  • To view the errata for the book, see www.packtpub.com/support and view the pages for the title you have.
  • To view your account details or to download a new copy of the book go to www.packtpub.com/account
  • To contact us directly if a problem is not resolved, use www.packtpub.com/contact-us
What eBook formats do Packt support? Chevron down icon Chevron up icon

Our eBooks are currently available in a variety of formats such as PDF and ePubs. In the future, this may well change with trends and development in technology, but please note that our PDFs are not Adobe eBook Reader format, which has greater restrictions on security.

You will need to use Adobe Reader v9 or later in order to read Packt's PDF eBooks.

What are the benefits of eBooks? Chevron down icon Chevron up icon
  • You can get the information you need immediately
  • You can easily take them with you on a laptop
  • You can download them an unlimited number of times
  • You can print them out
  • They are copy-paste enabled
  • They are searchable
  • There is no password protection
  • They are lower price than print
  • They save resources and space
What is an eBook? Chevron down icon Chevron up icon

Packt eBooks are a complete electronic version of the print edition, available in PDF and ePub formats. Every piece of content down to the page numbering is the same. Because we save the costs of printing and shipping the book to you, we are able to offer eBooks at a lower cost than print editions.

When you have purchased an eBook, simply login to your account and click on the link in Your Download Area. We recommend you saving the file to your hard drive before opening it.

For optimal viewing of our eBooks, we recommend you download and install the free Adobe Reader version 9.

Modal Close icon
Modal Close icon