iT邦幫忙

2024 iThome 鐵人賽

DAY 3
0
Software Development

Rust 學得動嗎系列 第 3

[Day 3] Rust實戰:建立專案、RustRover開發與GitHub上傳

  • 分享至 

  • xImage
  •  

今天,我們將通過實際操作,體驗完整的Rust開發流程:從建立專案到使用RustRover進行開發,最後將成果上傳至GitHub。

1. 快速建立Rust專案

首先,打開終端機,使用Cargo創建一個新的Rust專案:

cargo new rust_guessing_game
cd rust_guessing_game

這將建立一個名為rust_guessing_game的新目錄,包含以下結構:

rust_guessing_game/
├── Cargo.toml
└── src/
    └── main.rs

Cargo.toml是專案的設定文件,而src/main.rs是主程式文件。

2. 使用RustRover開發範例程式

首先,我們需要新增 rand crate 作為依賴。打開 Cargo.toml 文件,在 [dependencies] 部分新增以下行:

[
dependencies
]
rand = "0.8.5"

保存文件後,Cargo 會自動下載並編譯 rand crate。

現在,讓我們在src/main.rs中新增一個簡單的猜數字遊戲:

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("讀取行失敗");

        let guess: u32 = match guess.trim().parse() {
            Ok(num) => num,
            Err(_) => continue,
        };

        println!("你猜的數字是:{}", guess);

        match guess.cmp(&secret_number) {
            Ordering::Less => println!("太小了!"),
            Ordering::Greater => println!("太大了!"),
            Ordering::Equal => {
                println!("你贏了!");
                break;
            }
        }
    }
}

3. 執行和測試程式

在RustRover的內建終端中執行程式:

cargo run

增加一個簡單的測試。在main.rs的末尾添加:

#[cfg(test)]
mod tests {
    #[test]
    fn it_works() {
        assert_eq!(2 + 2, 4);
    }
}

執行測試:

cargo test

4. 使用Git進行版本控制

在RustRover中,前往 "VCS" -> "Enable Version Control Integration",選擇Git。

建立一個.gitignore文件,添加以下內容:

/target
Cargo.lock

提交變更:右鍵點擊項目 -> Git -> Commit Directory。

5. 上傳專案到GitHub

  1. 在GitHub上建立一個新的repo。
  2. 在RustRover的終端中執行:
git remote add origin https://github.com/你的用戶名/rust_guessing_game.git
git branch -M main
git push -u origin main

現在,可以在GitHub上查看剛剛完成的專案了~


上一篇
[Day 2] Rust快速入門:基本語法與RustRover開發環境設置
下一篇
[Day 4] Rust 的核心:深入理解所有權系統
系列文
Rust 學得動嗎30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言