Rust 以安全、效能與現代化設計聞名,但同時也因「所有權」與「借用」的獨特機制讓初學者感到卻步。本系列將以 30 天為期,從零開始理解 Rust 的語法特色、所有權模型、錯誤處理方式與模組化設計。過程中不僅會學習到核心觀念,也會透過實作小專案累積經驗,包含數字遊戲、文字統計工具等,最終完成一個CLI 專案。
1. 方法 (method)方法定義在 impl 區塊裡,第一個參數必須是 self(或 &self、&mut self),代表該結構體的實例,...
1. Enum 基本用法Enum(enumeration)用來定義一組可能的變體 (variant),每個變體都是這個 enum 型別的其中一個值。 enum...
1. 為什麼需要 Option在 C/C++ 或其他語言裡,常用 null / nullptr / None 來代表沒有值,Rust 沒有 null,取而代之的...
1. 為什麼需要 Result在 C/C++ 中,函數失敗時可能回傳 -1 或 NULL,但這種方式不直觀,也容易忘記檢查,Rust 提供 Result,明確表...
1. 為什麼需要泛型Rust 的泛型目的是讓函數或型別能夠重複使用,而不用為每一種型別都重寫一份程式碼。這能讓程式更簡潔、可重用,例如要寫一個找最大值的函數,如...
1. 什麼是 Trait它定義了一組方法簽名(method signatures),型別只要實作 (implement) 這些方法,就能被當作該 trait 使...
1. 多重 Trait Bound有時候希望泛型同時滿足多個 trait,可以用 +。 use std::fmt::Display; trait Summar...
1. 向量 VecVec 是一個動態陣列,可以在執行時動態增減元素。 fn main() { let mut v: Vec<i32> = V...
1. 為什麼需要模組隨著程式越寫越大,全部放在一個檔案會變得混亂。Rust 提供 module system(模組系統),讓程式可以分成多個檔案或區塊,方便管理...
專案主題製作一個簡單的命令列應用程式(Command-line App),可以讀取文字檔並輸出: 行數 單字數 字元數 1. 規劃我希望輸入部分可以直接打上...