Rust by Example
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
Rust by Example (RBE) is a collection of runnable examples that illustrate various Rust concepts and standard libraries. To get even more out of these examples, don't forget to install Rust locally and check out the official docs. Additionally for the curious, you can also check out the source code for this site.
Now let's begin!
-
Hello World - Start with a traditional Hello World program.
-
Primitives - Learn about signed integers, unsigned integers and other primitives.
-
Custom Types -
struct
andenum
. -
Variable Bindings - mutable bindings, scope, shadowing.
-
Types - Learn about changing and defining types.
-
Conversion - Convert between different types, such as strings, integers, and floats.
-
Expressions - Learn about Expressions & how to use them.
-
Flow of Control -
if
/else
,for
, and others. -
Functions - Learn about Methods, Closures and Higher Order Functions.
-
Modules - Organize code using modules
-
Crates - A crate is a compilation unit in Rust. Learn to create a library.
-
Cargo - Go through some basic features of the official Rust package management tool.
-
Attributes - An attribute is metadata applied to some module, crate or item.
-
Generics - Learn about writing a function or data type which can work for multiple types of arguments.
-
Scoping rules - Scopes play an important part in ownership, borrowing, and lifetimes.
-
Traits - A trait is a collection of methods defined for an unknown type:
Self
-
Macros - Macros are a way of writing code that writes other code, which is known as metaprogramming.
-
Error handling - Learn Rust way of handling failures.
-
Std library types - Learn about some custom types provided by
std
library. -
Std misc - More custom types for file handling, threads.
-
Testing - All sorts of testing in Rust.
-
Unsafe Operations - Learn about entering a block of unsafe operations.
-
Compatibility - Handling Rust's evolution and potential compatibility issues.
-
Meta - Documentation, Benchmarking.