1.在windows上安裝Rust
Windows 上安裝 Rust 需要有 C++
環境,以下為安裝的兩種方式:
1. x86_64-pc-windows-msvc
(官方推薦)
先安裝 Microsoft C++ Build Tools,勾選安裝 C++ 環境即可。安裝時可自行修改緩存路徑與安裝路徑,避免占用過多 C 盤空間。
準備好 C++ 環境后開始安裝 Rust:
在 RUSTUP-INIT 下載系統相對應的 Rust 安裝程序,一路默認即可。
PS C:\Users\48370> rustup-init.exe
......
Current installation options:
?default host triple: x86_64-pc-windows-msvcdefault toolchain: stable (default)profile: defaultmodify PATH variable: yes
?
1) Proceed with installation (default)
2) Customize installation
3) Cancel installation
2.更新
要更新 Rust,在終端執行以下命令即可更新:
$ rustup update
3.卸載
要卸載 Rust 和 rustup
,在終端執行以下命令即可卸載:
$ rustup self uninstall
4.檢查是否安裝成功
檢查是否正確安裝了 Rust,可打開終端并輸入下面這行,此時能看到最新發布的穩定版本的版本號、提交哈希值和提交日期:
$ rustc -V
rustc 1.56.1 (59eed8a2a 2021-11-01)
?
$ cargo -V
cargo 1.57.0 (b2e52d7ca 2021-10-21)
注:若發現版本號不同,以您的版本號為準
恭喜,你已成功安裝 Rust!
5.開發工具
這里我選擇的是Jetbrains的RustRover,因為已經習慣使用Jetbrains全家桶的工具了,也可以使用VSCode【需要下載對應的rust-analyzer插件】。
2.認識Cargo
Cargo 是 Rust 語言的官方包管理器和構建工具,集成了代碼編譯、依賴管理、測試運行、文檔生成、包發布等功能。它是 Rust 生態系統的核心工具,幾乎每個 Rust 項目都會使用 Cargo 來管理。
核心功能
1. 項目管理
-
項目初始化 通過
cargo new
或cargo init
創建項目,自動生成標準目錄結構和配置文件:cargo new my_project ? # 創建二進制可執行項目 cargo new --lib my_lib # 創建庫項目
生成的文件結構:
my_project/├── Cargo.toml ? # 項目元數據和依賴配置├── Cargo.lock ? # 新增的鎖定文件├── .gitignore ? # 默認忽略 target/ 目錄└── src/└── main.rs ?# 主入口文件(或 lib.rs 用于庫)
-
Cargo.toml 項目的核心配置文件,包含:
-
元數據:項目名稱、版本、作者、許可證等。
-
依賴聲明:直接依賴、開發依賴、構建依賴。
-
構建配置:優化選項、特性開關(features)、目標平臺等。
示例:
[package] name = "my_project" version = "0.1.0" authors = ["Your Name <your@email.com>"] edition = "2021" ?# Rust 版本 ? [dependencies] serde = "1.0" ? ? # 直接依賴 tokio = { version = "1.0", features = ["full"] } ? [dev-dependencies] rand = "0.8" ? ? ?# 僅測試和示例使用的依賴
-
-
Cargo.lock
當首次運行 cargo build
或添加依賴后,Cargo 會自動生成 Cargo.lock
文件。它記錄了項目依賴的精確版本信息,確保每次構建時依賴版本的一致性。
-
位置:項目根目錄下的
Cargo.lock
。 -
作用:
-
鎖定所有依賴的具體版本(包括間接依賴)。
-
確保團隊成員或部署環境使用完全相同的依賴版本。
-
防止因依賴版本意外升級導致構建失敗或行為不一致。
-
與 Cargo.toml 的區別
Cargo.toml | Cargo.lock | |
---|---|---|
編輯方式 | 手動編輯(聲明依賴的版本范圍) | 自動生成(記錄依賴的精確版本) |
版本控制 | 必須提交到版本庫 | 應用項目建議提交,庫項目通常不提交 |
示例內容 | serde = "1.0" (允許語義化版本更新) | serde = { version = "1.0.189" } |
2. 依賴管理
-
依賴來源
-
crates.io:默認的公共包倉庫(類似 npm 的 registry)。
-
Git 倉庫:直接從 Git 倉庫拉取代碼。
-
本地路徑:引用本地其他項目作為依賴。
示例:
[dependencies] # 從 crates.io 獲取 regex = "1.5" # 從 GitHub 分支獲取 my_lib = { git = "https://github.com/user/my_lib", branch = "dev" } # 本地路徑依賴 local_lib = { path = "../local_lib" }
-
-
版本解析 Cargo 使用語義化版本(SemVer)管理依賴,并自動解析依賴沖突,生成精確版本的依賴關系(記錄在
Cargo.lock
文件中)。
3. 構建與編譯
-
基本命令
-
cargo build
:編譯項目,生成調試版二進制文件(位于target/debug/
)。 -
cargo build --release
:編譯優化后的生產版本(位于target/release/
)。 -
cargo run
:編譯并直接運行主程序。 -
cargo check
:快速檢查代碼語法和類型,不生成二進制文件。
-
-
增量編譯 Cargo 默認啟用增量編譯,僅重新編譯修改過的部分,大幅提升開發效率。
4. 測試與文檔
-
單元測試與集成測試
-
在代碼中使用
#[test]
標記測試函數。 -
通過
cargo test
運行所有測試。 -
支持測試過濾(如
cargo test test_add
運行特定測試)。
-
-
文檔生成
-
使用
///
或//!
編寫文檔注釋。 -
通過
cargo doc
生成 HTML 文檔,自動托管依賴的文檔鏈接。 -
cargo doc --open
直接在瀏覽器中打開文檔。
示例:
/// 計算兩個數的和 /// # 示例 /// ``` /// assert_eq!(add(2, 3), 5); /// ``` pub fn add(a: i32, b: i32) -> i32 {a + b }
-
3.Hello World!
在學習一門新的語言最開始的時候,都是要從輸出hello world!開始的。下面演示一下創建rust項目以及編寫、運行hello world程序。
-
首先打開RustRover,點擊“文件”->“新建”->“項目”
然后點擊“創建”,這樣就新建了一個rust項目。
-
這是創建好的項目結構
-
接下來在main.rs中寫對應的程序,如下:
fn main() {println!("Hello, world!"); }
點擊圖中的箭頭就可以運行程序了,控制臺輸出結果如下:
-
接下來是對代碼的解釋:
1.
fn main() { ... }
-
作用:定義程序的入口函數
-
細節:
-
每個可執行 Rust 程序必須有一個
main
函數 -
fn
是函數定義的關鍵字(function 的縮寫) -
函數體必須用花括號
{}
包裹 -
Rust 使用 4 空格縮進(非強制但社區約定)
-
2.
println!("Hello, World!");
-
作用:向標準輸出打印文本
-
分解:
-
println!
是一個 宏(macro),不是普通函數,注意結尾的!
符號 -
"Hello, World!"
是一個字符串字面量 -
行尾必須有分號
;
(Rust 中大多數語句以分號結尾)
-
-