Android Rust 簡介

Android 平台支援在 Rust 中開發原生 OS 元件。Rust 是一種新型系統程式設計語言,可提供記憶體安全保證,效能等同於 C/C++。Rust 結合了編譯時間檢查功能,可強制實行物件的生命週期和擁有權,以及確保有效的記憶體存取,讓您不必使用垃圾收集器。

Rust 提供多種現代語言功能,可讓開發人員更有效率地編寫程式碼,並對程式碼更有信心:

  • 安全的並行程式設計:這項功能可讓使用者輕鬆編寫高效、執行緒安全的程式碼,因此 Rust 才會提出「無懼並行」的口號。
  • 可執行的型別系統 - Rust 允許淺顯易懂的類型 (例如 Newtype 包裝函式,以及含有內容的列舉變化版本),幫助避免邏輯程式設計錯誤。
  • 更強大的編譯時檢查功能:在編譯時偵測到的錯誤越多,開發人員就越有信心,認為在程式碼成功編譯後,程式碼會按照預期運作。
  • 內建測試架構:Rust 提供內建測試架構,可將單元測試與測試的實作項目一併放置,方便納入單元測試。
  • 強制執行錯誤處理措施:發生可復原失敗的函式可能會傳回 Result 類型,結果會是成功的變化版本或錯誤變化版本。編譯器需要呼叫端檢查並處理函式呼叫傳回的 Result 列舉錯誤變化版本。這麼做可減少未處理失敗情況所導致的錯誤。
  • 初始化:Rust 要求每個變數在使用前都必須初始化為其類型的合法成員,以免不小心將初始化值設為不安全的值。
  • 更安全的整數處理:所有整數類型的轉換均為明確轉換。 開發人員在指派給變數或嘗試對其他類型進行算術時,就無法在函式呼叫期間意外轉換。根據預設,Android for Rust 會啟用溢位檢查功能,因此必須明確執行溢位運算。

如需更多資訊,請參閱一系列有關 Android Rust 支援的網誌文章: