| = Rust Tutorial |
| Matthias Benkard <matthias.benkard@egym.de> |
| // Meta |
| :experimental: |
| :data-uri: |
| :sectnums: |
| :toc: |
| :stem: |
| :toclevels: 2 |
| :description: |
| :keywords: MI, MSW, eGym, Rust |
| // Settings |
| :icons: font |
| :source-highlighter: prettify |
| :doctype: book |
| |
| These are the lecture notes for the introduction to the Rust |
| programming language held at eGym in 2019. |
| |
| |
| = Part I: The Language |
| |
| == Crates & Cargo |
| |
| == Basic Types |
| === `u8`, `i32`, `f64` |
| [source,rust,subs="verbatim,attributes"] |
| ---- |
| let a = 100; |
| let b = 1.0; |
| let c = 100u8; |
| |
| let d = 2*a; |
| ---- |
| |
| === Structs |
| === `impl Struct` |
| === Enums |
| |
| == References & Lifetimes |
| === `&` vs `&mut` |
| === `'static` |
| === `Box`, `Rc` |
| |
| == Polymorphism |
| === Traits |
| Ex.: `ToString` |
| |
| === Generics |
| === `dyn Trait` |
| |
| == Tidbits |
| === Clippy |
| === Lambdas |
| === Doctests |
| |
| |
| = Part II: The Standard Library |
| |
| == Error Handling |
| |
| == More Types |
| === `String`, `&str` |
| === `Vec`, `&[]` |
| === `Fn` |
| === `Iter` |
| |
| == More Traits |
| === `impl Trait` |
| === `Sized` |
| |
| == Safe Concurrency |
| === `Sync` |
| === `Send` |
| === `Arc` |
| |