安装

  • curl https://sh.rustup.rs -sSf | sh
  • source $HOME/.cargo/env
  • 更新 rustup update
  • 卸载 rustup self uninstall
  • 文档 rustdoc
  • hello world
# rust.rs
fn main() {println!("Hello, world!");
}
rustc main.rs
./main

intro

  • cargo 项目管理工具
  • 创建新项目
cargo new hello_cargo
  • 编译代码 生成debug
cargo build
  • release模式生成代码 以更长的编译时间为代价来优化代码,从而使代码拥有更好的运行时性能
cargo build --release
cargo run
  • 检查代码,不编译,速度快
cargo check
  • 格式化代码
cargo-fmt --all
  • 文档查看
cargo doc --open

第二章 猜谜游戏

use rand::Rng;
use std::cmp::Ordering;
use std::io;
fn main() {println!("Guess the number!");let secret_number = rand::thread_rng().gen_range(1, 101);// println!("The secret number is:{}", secret_number);loop {println!("Please input your guess.");let mut guess = String::new();io::stdin().read_line(&mut guess).expect("Failed to read line");let guess: u32 = match guess.trim().parse() {Ok(num) => num,Err(k) => {println!("err: {}", k);continue;}};println!("You guessed: {}", guess);match guess.cmp(&secret_number) {Ordering::Less => println!("Too small"),Ordering::Greater => println!("Too big!"),Ordering::Equal => {println!("Your win!");break;}}}
}

第三章 通用编程概念