前言 這系列命名為探索網頁前端工具的前世今生,在歷經前面的「JS 模組化歷史」、「Webpack 誕生」、「ESM 標準統一」、「Vite 如何實現更好的開發體...
列舉基礎 在程式設計中,我們經常需要表示一個變數可能有多個固定的選項或狀態。例如,一週中的天數、撲克牌的花色、或者用戶的權限等級。這就是列舉(enumerati...
今天,我們來看看 Rust 在嵌入式系統開發中的應用,Rust 的安全性和效能特性使其成為嵌入式開發的理想選擇。 1. Rust 與微控制器程式設計 Rust...
今天,我們來看看 Rust 在系統程式設計中的應用,在開發作業系統核心模組和設備驅動程式方面,Rust 的安全性和效能特性使其成為系統層級程式設計的理想選擇,可...
簡介 我們可以用impl(implementation)關鍵字,後面接定義好的型別名稱,接著用大括號隔出一個區塊,這個區塊內的內容都會和這個型別有關,在這個區塊...
簡介 結構體(struct)是 Rust 中的一種自定型別,用來封裝多個相關數值成一個組合的型別,每個數值可以是不同的型別,到這邊和元組(Tuple)是一樣的,...
今天,我們來聊聊 Rust 在 Web 開發領域的應用,現在很多的職缺都是backend而工作內容則是在寫API,所以我們來看一下兩個流行的 Web 框架:Ac...
今天延續介紹所有權機制另一個要素的生命週期(lifetime)。 回憶初見生命週期 我們回憶一下在所有權借用有故意寫出一段會造成迷途指標的程式碼,用來舉例 Ru...
今天,我們將試著在 Rust 中使用常見的軟體設計模式。設計模式是解決軟體設計中常見問題的可重用解決方案。雖然許多設計模式源自於物件導向程式設計,但我們可以看...
引言:部分資料的處理 在處理資料時,我們經常只需要使用部分的資料。例如,當我們需要顯示句子的前幾個字作為預覽時,如何在保留原始資料所有權的同時,高效地處理部分資...
今天,我們將學習 Rust 在系統程式設計中的應用,包括如何與作業系統互動、處理底層硬體,以及在嵌入式系統中使用 Rust。 1. 與作業系統互動 Rust 提...
回顧:所有權轉移 昨天我們介紹了所有權的概念,以及某些型別在賦值給另一個變數時會發生所有權轉移(move)的情況。讓我們再看看還有哪些情況會發生所有權轉移。 函...
今天,我們來學習 Rust 的進階模式匹配技巧和Macro System。這些特性能大幅提升程式碼的表達能力和重用性。 1. 進階模式匹配(Advanced P...
記憶體管理機制 目前各種程式語言常見的記憶體管理機制主要有兩大類:手動或是垃圾回收機制(Garbage Collector)。 例如 C / C++ 就是用手動...
今天,我們來介紹 Rust 的模組系統、套件管理和測試。這些主題對於大型專案、管理依賴關係和確保程式碼品質有很大的幫助。 1. 模組系統(Module Syst...
Rust 的函數和其他語言基本都差不多,基本結構可以分成兩個部分來理解:函數簽名(function signature) 以及函數本體(function bod...
今天,我們將學習 Rust 的一些進階特性,包括不安全 Rust、進階特徵和型別系統的更多細節。 1. 不安全 Rust(Unsafe Rust) 不安全 Ru...
基本流程控制可以分為 if-else 表達式和迴圈兩種。 if-else 表達式 if-else 表達式是程式邏輯不可欠缺的一部分,會根據條件不同決定要執行的程...
今天,我們來學習 Rust 的智慧指標和內部可變性概念。這些進階特性讓我們能更靈活地管理記憶體和共享資料,同時保持 Rust 的安全性保證。 1. 智慧指標 智...
在 Rust 中,遮蔽(shadowing)是一種允許重複使用相同變數名稱的特性。 行為 遮蔽會在變數作用域內逐層生效,即在某一層的變數遮蔽了外層或之前定義的同...
今天,我們來學習 Rust 的並行程式設計特性。Rust 的設計目標之一就是提供安全且高效的並行程式設計支援,這使得 Rust 在處理複雜的多執行緒時特別有優勢...
變數 之前 echo function 有提到 Rust 預設變數(variable)是不可變的。Rust 設計上偏好讓開發者知道自己在做什麼,有點像在引導開發...
今天,我們來聊聊 Rust 的泛型(Generics)和 trait 概念。這些特性使得 Rust 能夠編寫高度抽象且可重用的程式碼,同時保持類型安全和高效率。...
複合型別可以組合數個數值為一個型別,Rust 有兩個基本複合型別:元組(tuples)和陣列(arrays)。 元組 元組擁有固定長度,可以將許多不同型別的數值...
今天,我們來聊聊 Rust 的錯誤處理機制。Rust 的錯誤處理設計旨在幫助開發者寫出更加穩健和可靠的程式。 可恢復錯誤與 Result<T, E>...
今天接續介紹 Rust 的原生資料型別子集:純量剩下的型別。 字元 Rust 的 字元(char) 型別大小是 4 bytes,並表示為一個 Unicode 純...
今天,我們來看 Rust 的生命週期(Lifetime)概念。生命週期是 Rust 借用檢查器用來確保所有借用都是有效的機制,它與所有權系統密切相關。 什麼是生...
浮點數型別 Rust 針對浮點數有兩種型別f32 和 f64,分別佔有 32 位元與 64 位元的大小。所有的浮點數型別第一個位元都是用來記錄正負號,不像整數有...
今天來看 Rust 最獨特和最重要的特性之一:所有權系統-ownership。這個系統是 Rust 實現記憶體安全和並行安全的基礎,也是區別於其他語言的關鍵特性...
今天,我們將通過實際操作,體驗完整的Rust開發流程:從建立專案到使用RustRover進行開發,最後將成果上傳至GitHub。 1. 快速建立Rust專案 首...