Table of contents
Resources
To install the Rust toolchain, you can visit the official website.
Tools
cargo
- the package manager
cargo doc --open
- generates the documentation for all of your dependencies and opens it in the browser
clippy
- the linter
rustc
- the compiler
rustup
- the toolchain manager
Variables
In Rust, variables are immutable by default. You can define variables using the let
keyword and make them mutable via the mut
keyword. Additionally, you can define constants using the const
keyword.
💡 Difference between variables and constants
constants are not mutable by default, they are always immutable
constants type must be annotated
the value of a constant can’t be an expression that can only be computed at runtime. Only constant expressions.
Example of variable definition:
let my_variable = String::New(); // unmutable variable
let mut: i32 = 43; // mutable variable
const THREE_HOURS_IN_SECONDS = 60 * 60 * 3;
You can also set variable values using an if
statement.
Example of setting variable value conditionally:
let condition = true;
let number = if condition { 5 } else { 6 };
Shadowing is a technique that allows you to transform the value of a variable without making it mutable. It involves reusing the same variable name
Example of shadowing:
let my_string = "hello_rust";
let my_string = my_string.len();
println!("{my_string}")
Dependencies
The Cargo.toml
file is used to store package information and dependencies. Rust's dependency manager understands semantic versioning (SemVer) and sticks to the minor version of the dependency by default.
It's important to note that you need to manually add the dependency to the Cargo.toml
file and then run cargo build
to download all the dependencies. By default, Cargo will use the versions of dependencies specified in the Cargo.lock
file. To update the dependencies, you can use the cargo update
command.
💡 example: rand = 0.8.0
means ^0.8.0
, meaning it will not update to 0.9.0
when it comes out