0%

rust-brief

初见RUST

RUST常见操作

安装RUST

RUST官网:https://www.rust-lang.org/

windows:

linux:

1
curl https//sh.rustup.rs -sSf | sh

Windows Subsystem for Linux

1
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

安装验证

1
rustc --version

更新RUST

1
rustup update

卸载RUST

1
rustup self uninstall

查看文档

1
rustup doc

Hello World

新建源文件main.rs,添加代码如下

1
2
3
fn main() {
println!("Hello world.");
}

编译源文件,生成可执行文件

1
rustc mian.rs

编译成功后,会生成一个二进制文件,在Windows上还会生成一个包含调试信息的.pdb文件

Hello Cargo

Cargo是Rust的构建系统和包管理工具,可以通过如下命令查看Cargo是否正确安装

1
cargo --version

新建项目

使用cargo命令新建项目

1
cargo new hello_cargo

常用命令

cargo build:构建项目,生成可执行文件在target/debug目录下;另外,会生成一个Cargo.lock文件,该文件不可修改;

cargo run:构建和运行cargo项目,如果之间编译成功过,并且源代码没有改变,则会直接运行二进制文件;

cargo check:检查代码确保能够通过编译,但不会产生任何可执行文件,执行速率远高于cargo build

cargo build --release:构建发布版本,编译时会进行优化,使得代码运行得更快,但是编译时间更长;可执行文件在target/release目录下;

猜数游戏

Rust包管理

网址:https://crates.io/crates

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
use std::io;
use rand::Rng;

fn main() {
println!("猜数游戏开始!");
let target_num = 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(_) => {
println!("错误输入,请重新输入!");
continue;
}
};

println!("你猜测的数是: {}, 谜底是: {}", guess, target_num);
match guess.cmp(&target_num) {
std::cmp::Ordering::Less => println!("输入的数字太小!"),
std::cmp::Ordering::Greater => println!("输入的数字太大!"),
std::cmp::Ordering::Equal => {
println!("恭喜猜中啦!");
break;
}
};
}
}