歡迎參加 Comprehensive Rust 🦀 課程

Build workflow GitHub contributors GitHub stars

這個免費的 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 是大型的程式語言,無法在幾天內就介紹完畢。因此,本課程不包含下列內容:

課程要求

本課程假設您已瞭解如何設計程式。Rust 是一種靜態的程式設計類型,我們有時會將其與 C 和 C++ 比較,以便進一步解釋或凸顯 Rust 做法上的差別。

如果您知道如何以 Python 或 JavaScript 等動態程式語言編寫程式,也很適合跟著我們學習 Rust。

這是「演講者備忘稿」的範例。我們會透過這些備忘稿補充投影片中未提到的資訊。這可能包括老師應提及的重點,以及課堂上典型問題的解答。