入门rust
rustc指令
// hello_world.rc文件
fn main(){
println!("hello world!");
}
编译指令: rustc hello_world.rs
会生成一个exe可执行文件
运行指令: hello_world,因为是可执行文件,双击运行也可以
注意:rustc 只适合简单的程序,复杂的需要使用cargo
cargo
创建一个新的cargo项目
cargo new 项目名称 —> cargo new hello_world
Cargo.toml文件
cargo build
cargo run
cargo check
cargo build --release
来个例子
猜数
use std::io;
fn main() {
// let mut a = 1;
// let b = a;
// a = 2;
// 此处b = 3报错,let 声明变量数据不可变,如果需要改变,加上mut关键字
// b = 3;
println!("guess!");
let mut guess = String::new(); // 创建一个空的字符串
io::stdin().read_line(&mut guess).expect("无法读取行");
println!("你猜的数是{}", guess)
}
运行结果
rust包管理
rust包仓库:https://crates.io/
添加依赖包
cargo add 依赖包 --> cargo add random
删除依赖包
cargo remove 依赖包 --> cargo remove random
最后来一个猜数小游戏吧
use std::{cmp::Ordering, io};
use rand::Rng;
fn main() {
// let mut a = 1;
// let b = a;
// a = 2;
// 此处b = 3报错,let 声明变量数据不可变,如果需要改变,加上mut关键字
// b = 3;
println!("guess!");
let sercret_number = rand::thread_rng().gen_range(1..101);
loop {
println!("猜一个数:");
let mut guess = String::new(); // 创建一个空的字符串
io::stdin().read_line(&mut guess).expect("无法读取行");
let guess: u32 = match guess.trim().parse() {
Ok(num) => num,
Err(_) => continue,
};
println!("你猜的数是{}", guess);
match guess.cmp(&sercret_number) {
Ordering::Less => println!("Too small"),
Ordering::Greater => println!("Too big"),
Ordering::Equal => {
println!("You win!");
break;
}
}
}
}