iT邦幫忙

鐵人檔案

2025 iThome 鐵人賽
回列表
Rust

Rust 30 天養成計畫:從零到 CLI 專案 系列

Rust 以安全、效能與現代化設計聞名,但同時也因「所有權」與「借用」的獨特機制讓初學者感到卻步。本系列將以 30 天為期,從零開始理解 Rust 的語法特色、所有權模型、錯誤處理方式與模組化設計。過程中不僅會學習到核心觀念,也會透過實作小專案累積經驗,包含數字遊戲、文字統計工具等,最終完成一個CLI 專案。

參賽天數 22 天 | 共 22 篇文章 | 0 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day 11:Struct 的方法與關聯函數

1. 方法 (method)方法定義在 impl 區塊裡,第一個參數必須是 self(或 &self、&mut self),代表該結構體的實例,...

2025-09-25 ‧ 由 irishung121 分享
DAY 12

Day 12:Enum(列舉型別)

1. Enum 基本用法Enum(enumeration)用來定義一組可能的變體 (variant),每個變體都是這個 enum 型別的其中一個值。 enum...

2025-09-26 ‧ 由 irishung121 分享
DAY 13

Day 13:Option 與模式比對 (match)

1. 為什麼需要 Option在 C/C++ 或其他語言裡,常用 null / nullptr / None 來代表沒有值,Rust 沒有 null,取而代之的...

2025-09-27 ‧ 由 irishung121 分享
DAY 14

Day 14:Result 與錯誤處理

1. 為什麼需要 Result在 C/C++ 中,函數失敗時可能回傳 -1 或 NULL,但這種方式不直觀,也容易忘記檢查,Rust 提供 Result,明確表...

2025-09-28 ‧ 由 irishung121 分享
DAY 15

Day 15:泛型 (Generics)

1. 為什麼需要泛型Rust 的泛型目的是讓函數或型別能夠重複使用,而不用為每一種型別都重寫一份程式碼。這能讓程式更簡潔、可重用,例如要寫一個找最大值的函數,如...

2025-09-29 ‧ 由 irishung121 分享
DAY 16

Day 16:Trait(特徵)

1. 什麼是 Trait它定義了一組方法簽名(method signatures),型別只要實作 (implement) 這些方法,就能被當作該 trait 使...

2025-09-30 ‧ 由 irishung121 分享
DAY 17

Day 17:Trait 與泛型進階

1. 多重 Trait Bound有時候希望泛型同時滿足多個 trait,可以用 +。 use std::fmt::Display; trait Summar...

2025-10-01 ‧ 由 irishung121 分享
DAY 18

Day 18:集合型別 (Vec、HashMap)

1. 向量 VecVec 是一個動態陣列,可以在執行時動態增減元素。 fn main() { let mut v: Vec<i32> = V...

2025-10-02 ‧ 由 irishung121 分享
DAY 19

Day 19:模組與套件 (Modules & Packages)

1. 為什麼需要模組隨著程式越寫越大,全部放在一個檔案會變得混亂。Rust 提供 module system(模組系統),讓程式可以分成多個檔案或區塊,方便管理...

2025-10-03 ‧ 由 irishung121 分享
DAY 20

Day 20:小專案— 字數統計工具

專案主題製作一個簡單的命令列應用程式(Command-line App),可以讀取文字檔並輸出: 行數 單字數 字元數 1. 規劃我希望輸入部分可以直接打上...

2025-10-04 ‧ 由 irishung121 分享