63 lines
2.0 KiB
Plaintext
63 lines
2.0 KiB
Plaintext
Overview
|
|
Prerequisite
|
|
The course is for Rust beginners:
|
|
You already know how to program, preferably in a statically typed language.
|
|
Some knowledge of C or C++ will be helpful since we'll sometimes compare Rust constructs with those languages.
|
|
You should not take the go/rust-101 course first since we will cover the same content, plus much more.
|
|
Description
|
|
Mailing list: g/comprehensive-rust
|
|
Chat: go/comprehensive-rust-chat
|
|
Material: go/comprehensive-rust-material
|
|
Recordings: go/comprehensive-rust-recordings
|
|
Repository: go/comprehensive-rust-repository
|
|
More: go/comprehensive-rust-classes
|
|
This Rust training is for people with no prior Rust experience. The course covers the core of Rust, from basic syntax to advanced topics such as traits, generics, error handling, and memory management.
|
|
|
|
The course is split over three days, with each day covering increasingly advanced part of the language.
|
|
|
|
Day 1:
|
|
|
|
Basic syntax: tuples, structs, enums, and methods
|
|
Memory management, ownership, borrowing, and lifetimes
|
|
Exercises
|
|
Day 2:
|
|
|
|
Control flow expressions
|
|
Pattern matching
|
|
Modules and project structure
|
|
Important standard library types
|
|
Exercises
|
|
Day 3:
|
|
|
|
Traits and generics
|
|
Error handling
|
|
Testing
|
|
Unsafe Rust
|
|
Exercises
|
|
We have a number of other classes which cover more spezialized topics such as bare-metal Rust, concurrency, and Rust in Android. Please see go/comprehensive-rust-classes
|
|
.
|
|
|
|
|
|
|
|
Please register your interest with the Session Alert in the bottom-right corner. Contact Martin Geisler
|
|
and Thomas Oertli
|
|
if you would like to schedule a class for your team or if you would like to teach a class yourself. Contact g/comprehensive-rust
|
|
and github.com/google/comprehensive-rust/discussions
|
|
with general questions.
|
|
|
|
|
|
|
|
Pre-work
|
|
Please install the Rust compiler and the Cargo build system before the course. Follow the instructions on https://rustup.rs/
|
|
for this.
|
|
|
|
Check that everything worked by running
|
|
|
|
$ cargo new my-project
|
|
|
|
$ cd my-project
|
|
|
|
$ cargo run
|
|
|
|
If this completes successfully, you'll be all set for the course.
|