Day 6:專案結構

學習目標

  • 看懂 Cargo 專案預設的資料夾結構
  • 認識 main.rs 和 lib.rs
  • 知道專案裡各種目錄的用途

今日重點

Cargo 專案結構

hello-rust/
├── Cargo.toml          # 專案設定
├── Cargo.lock          # 依賴鎖定(鎖定精確版本)
├── src/
│   ├── main.rs         # 主程式進入點(binary)
│   └── lib.rs          # 程式庫進入點(library)
├── tests/              # 整合測試
├── benches/            # 基準測試(效能)
└── examples/           # 範例程式

兩種專案類型

  • Binary:有 main.rs,可以執行的程式
  • Library:有 lib.rs,給其他程式 import 用的函式庫
  • 一個專案可以同時有兩者

幾個重點

  • 副檔名 .rs
  • 一個檔案內用 mod 拆模組,也可用多個資料夾
  • tests/benches/examples/ 通常由 src/ 引用

練習

  1. cargo new hello-lib --lib 建立一個 library 專案,觀察生成的檔案差別。
  2. 建立一個 examples/ 資料夾,放一個簡單範例,用 cargo run --example 檔名 執行。
  3. 打開 Cargo.lock,看看它的內容。

自我檢查

  • 知道 main.rs 和 lib.rs 的差別
  • 知道 Cargo.toml 和 Cargo.lock 的差別
  • 能建立 binary 和 library 兩種專案