rust
- rust是一門相對比較新系統級編程語言
- 無論是底層還是應用都可以一把梭(有純rust的操作系統和瀏覽器servo,也有基于rust的ui框架Tauri)
- 現在很多項目正在被rust重構
- 我計劃構建一套純純的中文編程生態,rust是最合適的選擇
學習資料
- [官網](https://rust-lang.org/zh-CN/)
安裝運行
- 無論是在window還是linux安裝rust都是需要c++編譯工具的
- 在wsl(window下的linux) 現在window應用商店安裝 烏班圖 我裝的 是 22版的 然后打開控制臺 選擇進入linux環境 會讓你創建個賬戶
- 在linux下安裝rust: sudo apt install build-essential (這是在安裝c++編譯工具) 然后執行 curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh (ai代碼提示生成的,不知道對不對,可以去官網看下)
- 選擇1 默認安裝即可 安裝完成后重新打開終端(安裝過程中配了環境變量) 輸入 rustc --version 如果顯示版本號就說明安裝成功了
- 新建一個目錄 rust_learn (mkdir rust_learn) 進入該目錄 (cd rust_learn) 執行 cargo new hello (這回創建一個項目)
- 進入項目目錄 (cd hello) 執行 cargo run 就可以運行了
- 在vscode安裝遠程連接插件,然后打開遠程連接,選擇wsl,然后選擇wsl的路徑,就可以在vscode中寫代碼了
- 在vscode中安裝rust-analyzer插件
編寫一個猜數字游戲
- 這個練習主要是對rust有一個簡單的了解,有不清楚的地方后面會學到
創建項目
- 在rust_learn目錄下執行 cargo new guessing_game
- 進入項目目錄 (cd guessing_game)
- 執行 cargo run
代碼解析
- main.rs 是入口文件
- Cargo.toml 是配置文件 (類似 node的 package.json)
- src/main.rs 是源代碼文件

use rand::Rng; // 導入rand庫中的Rng trait,用于生成隨機數
use std::io; // 導入標準庫中的io模塊,用于處理輸入輸出
fn main() {
//生成一個1-100之間的隨機數,不包括guess
let mut rng = rand::rng(); // 創建一個隨機數生成器實例
let secret_number: u32 = rng.random_range(1..=100); // 生成一個1到100之間的隨機數作為秘密數字
println!("{}", secret_number); // 打印生成的秘密數字
loop { // 開始一個無限循環
let guess = read_number(); // 讀取用戶輸入的猜測數字
if secret_number == guess { // 比較猜測數字和秘密數字
println!("你猜對了!"); // 如果猜對了,打印提示信息并退出循環
break;
} else if secret_number < guess {
println!("你猜的數字太大了"); // 如果猜的數字太大,打印提示信息
} else {
println!("你猜的數字太小了"); // 如果猜的數字太小,打印提示信息
}
}
}
fn read_number() -> u32 {
println!("輸入你的猜測:"); // 提示用戶輸入猜測數字
let mut guess = String::new(); // 創建一個可變的字符串變量來存儲用戶輸入
io::stdin().read_line(&mut guess).expect("讀取失敗"); // 從標準輸入讀取一行數據,并處理可能的讀取錯誤
let guess: u32 = guess.trim().parse().expect("輸入的不是數字"); // 將輸入的字符串轉換為32位無符號整數,處理可能的轉換錯誤
return guess; // 返回轉換后的數字
}