started book again
This commit is contained in:
parent
f4dc4f8a43
commit
36e2990305
15
.gitignore
vendored
15
.gitignore
vendored
@ -1 +1,14 @@
|
||||
target/*
|
||||
# Generated by Cargo
|
||||
# will have compiled files and executables
|
||||
debug/
|
||||
target/
|
||||
|
||||
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
||||
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
||||
Cargo.lock
|
||||
|
||||
# These are backup files generated by rustfmt
|
||||
**/*.rs.bk
|
||||
|
||||
# MSVC Windows builds of rustc generate these, which store debugging information
|
||||
*.pdb
|
||||
|
8
book/guessing_game/Cargo.toml
Normal file
8
book/guessing_game/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "guessing_game"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
12
book/guessing_game/src/main.rs
Normal file
12
book/guessing_game/src/main.rs
Normal file
@ -0,0 +1,12 @@
|
||||
use std::io;
|
||||
// file:///home/luket/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/share/doc/rust/html/std/io/index.html
|
||||
|
||||
fn main() {
|
||||
println!("guess the number");
|
||||
println!("your guess: ");
|
||||
let mut guess = String::new();
|
||||
io::stdin()
|
||||
.read_line(&mut guess)
|
||||
.expect("failed to read line");
|
||||
println!("your guess: {guess}");
|
||||
}
|
8
book/hello_cargo/Cargo.toml
Normal file
8
book/hello_cargo/Cargo.toml
Normal file
@ -0,0 +1,8 @@
|
||||
[package]
|
||||
name = "hello_cargo"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
|
||||
|
||||
[dependencies]
|
3
book/hello_cargo/src/main.rs
Normal file
3
book/hello_cargo/src/main.rs
Normal file
@ -0,0 +1,3 @@
|
||||
fn main() {
|
||||
println!("Hello, world!");
|
||||
}
|
60
book/notes
Normal file
60
book/notes
Normal file
@ -0,0 +1,60 @@
|
||||
chapter 2
|
||||
https://doc.rust-lang.org/book/ch02-00-guessing-game-tutorial.html
|
||||
|
||||
include packages:
|
||||
using std::io;
|
||||
|
||||
print is a macro:
|
||||
println!("text");
|
||||
|
||||
make a new mutable string:
|
||||
let mut guess = String::new();
|
||||
// new is a function of the string type.
|
||||
// an "associated function"
|
||||
|
||||
& is a reference
|
||||
|
||||
result is an enumeration
|
||||
it's variants are "Ok" and "Err"
|
||||
|
||||
|
||||
There are a set of "items" defined before importing anything. This is called the "prelude".
|
||||
|
||||
|
||||
chapter 1
|
||||
https://doc.rust-lang.org/book/ch01-00-getting-started.html
|
||||
|
||||
linux:
|
||||
curl --proto '=https' --tlsv1.2 https://sh.rustup.rs -sSf | sh
|
||||
|
||||
update:
|
||||
rustup update
|
||||
|
||||
docs:
|
||||
rustup doc
|
||||
|
||||
compiler is `rustc`
|
||||
|
||||
cargo --version
|
||||
|
||||
toml = toms obvious minimal language
|
||||
|
||||
new project:
|
||||
cargo new $project_name --vcs=none
|
||||
|
||||
$project_dir/
|
||||
$project_dir/Cargo.toml
|
||||
$project_dir/src/main.rs
|
||||
$project_dir/target/debug/$project_bin
|
||||
|
||||
build:
|
||||
cargo build
|
||||
|
||||
run:
|
||||
cargo run
|
||||
|
||||
don't compile, just check:
|
||||
cargo check
|
||||
|
||||
don't add debug symbols:
|
||||
cargo build --release
|
62
class/desc
Normal file
62
class/desc
Normal file
@ -0,0 +1,62 @@
|
||||
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.
|
3
udemy_course
Normal file
3
udemy_course
Normal file
@ -0,0 +1,3 @@
|
||||
pass show study/udemy.com
|
||||
|
||||
'ultimate rust'
|
Loading…
x
Reference in New Issue
Block a user