刚开始想学rust的时候,结果突然转项目组了,于是就落下了,现在又要重新开始。
在上一篇rust 学习 1文章中,简单学习了如何配置开发环境。
接下来开始跟着官方的学习文档走一遍,地址为 https://doc.rust-lang.org/stable/book/
使用cargo管理项目
cargo可以理解为 maven之于java,npm之于nodejs。
创建项目
使用cargo创建一个简单的项目。
在windows下,打开命令行工具
#创建项目
cargo new demo
D:\learning\rust>cargo new demo
Created binary (application) `demo` package
#并使用vscode打开项目
code demo
运行项目
项目的入口文件为main.rs,可以直接点击文件插件的Run|Debug,或者在命令行执行cargo run。
依赖管理
当项目创建后,会自动生成一个Cargo.toml文件,[dependencies] 为依赖管理入口,可以在此处管理项目的依赖。
根据文档代码案例,添加rand作为依赖,用以测试。
Cargo.toml
[package]
name = "demo"
version = "0.1.0"
edition = "2021"
# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[dependencies]
使用cargo add 命令添加依赖
cargo add rand
根据官方案例,完成一个猜大小的简单代码
use std::{io, cmp::Ordering};
use rand::Rng;
fn main() {
println!("Guess the number!");
println!("Please input your guess");
let secret_number = rand::thread_rng().gen_range(1..=100).to_string();
println!("The secret number is: {secret_number}");
let mut guess = String::new();
io::stdin().read_line(&mut guess).expect("FAILED TO READ LINE");
println!("you guested: {guess}");
match guess.cmp(&secret_number) {
Ordering::Less => print!("too small"),
Ordering::Greater => println!("too big"),
Ordering::Equal => println!("you win"),
}
}
参考文档: https://doc.rust-lang.org/stable/book/ch02-00-guessing-game-tutorial.html