型別系統與特徵
學習 Rust 的靜態型別系統、特徵(Traits)和泛型,對比 JavaScript 的動態型別系統
型別系統與特徵
📖 學習目標
理解 Rust 的靜態型別系統和特徵系統,學會使用泛型和特徵約束,對比 JavaScript 的動態型別系統。
🎯 型別系統對比
JavaScript 的動態型別
JavaScript 是動態型別語言,型別在執行時確定:
正在加载...
Rust 的靜態型別
Rust 是靜態型別語言,型別在編譯時確定:
正在加载...
型別系統差異
- 靜態 vs 動態: Rust 編譯時檢查型別,JavaScript 執行時檢查
- 型別安全: Rust 防止型別錯誤,JavaScript 允許型別轉換
- 效能: Rust 零成本抽象,JavaScript 有執行時開銷
- 開發體驗: Rust 編譯時錯誤提示,JavaScript 執行時錯誤
🔧 特徵(Traits)系統
特徵定義與實作
正在加载...
特徵的關鍵概念
- 共享行為: 特徵定義了一組型別必須實作的方法。
- Ad-hoc 多型: 允許將不同型別視為相同的特徵。
- 預設實作: 特徵可以提供方法的預設實作。
- 特徵約束: 強制泛型型別必須實作特定的特徵。
- 特徵物件: 使用
dyn Trait
在執行時進行動態分派。