Rust官网:https://www.rust-lang.org
更新Rust:
卸载Rust:
验证是否安装Rust成功:
Rust本地文档:
Rust源代码文件名为:.rs
Hello World测试代码:
1 2 3 4
| fn main() { println!("Hello World!"); }
|
编译Rust程序:
Cargo作为Rust的构建系统和包管理工具,将会默认随着Rust安装,检查你的Cargo:
使用Cargo创建项目:
这种方法创建的项目默认包含src文件夹,作用是存放源代码文件。
Cargo.toml作用是说明项目信息([package]以下的内容)以及需求的依赖项名([dependencies]以下的内容)也叫crate(货箱),货箱类似Python中的包或者C中的头文件。
使用Cargo构建可执行文件:
一般在路径target/debug/下。此时格外会生成cargo.lock文件用于追踪项目依赖的精确版本,最好不要手动管理。
使用Cargo构建并运行文件:
使用Cargo检查代码是否能通过编译(比直接编译速度快):
使用Cargo为发布程序构建:
一般生成结果会在target/release下。
给你的Rust添加需要的crate(货箱):
网址:https://crates.io/crates/
例如:
1 2 3 4 5 6 7
| [package] name = "guess" version = "0.1.0" edition = "2024"
[dependencies] rand = "0.3.14"
|
原地升级你的crate:
这种方法会升级你的crate到当前大版本的最新小版本比如0.3.14[old] -> 0.3.99[new],忽略你在[dependencies]中写的指定版本。但是不会改变大版本。
Rust语法
定义变量与赋值:
1 2 3 4
| let A = 1; let mut B = 2; A = 2; B = 1;
|
输入与输出:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| use std::io;
fn main() { println!("输入一行文字:"); let mut text = String::new(); io::stdin().read_line(&mut text).expect("无法读取行!"); println!("你的输入是:{}", text); }
|
match {} 语法
xxxxxxxxxx let arr: [i32; 3] = [1, 2, 3]; //标明数组的类型与数组长度。let a = [3; 5]; //快速创建数组包含5个3。let first = arr[0]; //访问数组的元素。rust
作用是通过函数的返回值执行特定的分支。
1 2 3 4 5 6 7 8
| let text: u32 = match text.trim().parse() { Ok(num) => num, Err(_) => { println!("请输入纯数字,重新输入!"); continue; }, };
|
使用Rust写一个猜数字游戏:
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 32 33 34 35 36 37 38
| use std::io; use std::cmp::Ordering; use rand::Rng;
fn main() { println!("猜测数字!"); let secret_number = rand::thread_rng().gen_range(1, 101);
loop { println!("输入你猜测的数字:"); let mut guess = String::new(); io::stdin().read_line(&mut guess).expect("无法读取行!"); println!("你猜测的数字是:{}", guess);
let guess: u32 = match guess.trim().parse() { Ok(num) => num, Err(_) => { println!("请输入纯数字,重新输入!"); continue; }, };
match guess.cmp(&secret_number) { Ordering::Less => println!("输入的数字太小了!"), Ordering::Greater => println!("输入的数字太大了!"), Ordering::Equal => { println!("输入的数字刚刚好!"); break; }, }; }
}
|