它的設計準則為「安全,並行,實用」,支援函數式,並行式,
程序式以及物件導向的 程式風格 。
Rust 的設計目標之一,是要使設計大型的網際網路客戶端和伺服器的任務變得更容易。
流程控制的關鍵字如 if, else, while 等等。在保持相似性的同時,
Rust 也加進了新的關鍵字,如用於模式符合 (pattern matching) 的 match
(與 switch 相似) 則是使用 C/C++ 系統程式語言的人會相對陌生的概念。
儘管在語法上相似,Rust 的語義 (semantic) 和 C/C++ 非常不同。。
為了提供記憶體安全,它的設計不允許空指標和懸空指標。
資料只能透過固定的初始化形態來建立。
Rust 1.0已不再使用垃圾回收器,而是全面改用基於參照計數的智慧指標來管理記憶體。
型別推導也是 Rust 提供的特性之一,使用 let 語法宣告的變數可以不用宣告型別,
亦不需要初始值來推斷型別。但如果在稍後的程式中從未指派任何值到該變數,
編譯器會發出編譯時 (compile time) 錯誤。 函式可以使用泛型化參數 (generics),
Rust 也加進了新的關鍵字,如用於模式符合 (pattern matching) 的 match
(與 switch 相似) 則是使用 C/C++ 系統程式語言的人會相對陌生的概念。
儘管在語法上相似,Rust 的語義 (semantic) 和 C/C++ 非常不同。。
為了提供記憶體安全,它的設計不允許空指標和懸空指標。
資料只能透過固定的初始化形態來建立。
Rust 1.0已不再使用垃圾回收器,而是全面改用基於參照計數的智慧指標來管理記憶體。
型別推導也是 Rust 提供的特性之一,使用 let 語法宣告的變數可以不用宣告型別,
亦不需要初始值來推斷型別。但如果在稍後的程式中從未指派任何值到該變數,
編譯器會發出編譯時 (compile time) 錯誤。 函式可以使用泛型化參數 (generics),
但是必須綁定 Trait。沒有任何方法可以使用方法或運算子,
又不宣告它們的型別,每一項都必確明確定義。
以上資料取自 WiKi
沒有留言:
張貼留言