歡迎參加 Comprehensive Rust 🦀 課程
這個免費的 Rust 課程是由 Google 的 Android 團隊負責開發。本課程涵蓋 Rust 的全部內容,從基礎語法到進階主題 (泛型和錯誤處理等),應有盡有。
如需最新版課程,請造訪 https://google.github.io/comprehensive-rust/。假如您是在其他網址閱讀課程資料,別忘了查看這個連結的內容是否有更新。
The course is also available as a PDF.
本課程旨在教授 Rust 的知識。我們會假設您是從零開始學習 Rust,希望能夠:
- 讓您對 Rust 語法和語言有全面的認識。
- 讓您學會在 Rust 中修改現有程式及編寫新程式。
- 向您介紹常見的 Rust 慣用語法。
We call the first four course days Rust Fundamentals.
在此基礎上,我們將誠摯邀請您深入探討一或多個專題:
- Android:這是半天的課程,會說明如何針對 Android 平台開發作業 (Android 開放原始碼計畫) 使用 Rust,並介紹與 C、C++ 和 Java 的互通性。
- Chromium: a half-day course on using Rust within Chromium based browsers. This includes interoperability with C++ and how to include third-party crates in Chromium.
- Bare-metal:這是半天的課程,會說明如何使用 Rust 在 bare-metal (嵌入式系統) 上台開發。課程內容包含微控制器和處理器。
- 並行:這個全天課程著重於 Rust 中的並行問題。我們將探討傳統並行 (使用執行緒和互斥鎖進行先占式排程) 以及 async/await 並行 (使用 future 進行合作多工處理)。
非課程目標
Rust 是大型的程式語言,無法在幾天內就介紹完畢。因此,本課程不包含下列內容:
- 學習如何開發巨集 (macro)。請直接閱讀 Rust Book 的 Chapter 19.5 和 Rust by Example.
課程要求
本課程假設您已瞭解如何設計程式。Rust 是一種靜態的程式設計類型,我們有時會將其與 C 和 C++ 比較,以便進一步解釋或凸顯 Rust 做法上的差別。
如果您知道如何以 Python 或 JavaScript 等動態程式語言編寫程式,也很適合跟著我們學習 Rust。
這是「演講者備忘稿」的範例。我們會透過這些備忘稿補充投影片中未提到的資訊。這可能包括老師應提及的重點,以及課堂上典型問題的解答。