內(nèi)容簡介

語言語法
Rust的具體語法和C,C++類似,都是由花括號限定代碼塊,還有一樣的控制流關(guān)鍵字,例如if,else,while,和for。然而也并非所有的C或者C++關(guān)鍵字被實現(xiàn)了。某些Rust函數(shù)(比如關(guān)鍵字match用于模式匹配)對于那些精通這些語言的人就沒那么熟悉了。盡管與C/C++極其相似,Rust在深層語法上跟元語言家族的語言像是Haskell更接近。基本上一個函數(shù)體的每個部分都是表達式,甚至是控制流操作符。例如,那個普通的if表達式也取代了C的三元表達式。一個函數(shù)不需要以return表達式結(jié)束,在這種情況下函數(shù)最后的表達式就是返回值。

內(nèi)存安全
Rust語言系統(tǒng)設(shè)計于保證內(nèi)存安全,它在安全代碼里不允許空指針,懸垂指針和數(shù)據(jù)競爭。數(shù)值只能用一系列固定形式來初始化,要求所有輸入已經(jīng)被初始化。在其它語言中復(fù)制函數(shù)指針或者有效或者為空,比如在鏈表和二叉樹等數(shù)據(jù)結(jié)構(gòu)中,Rust核心庫提供Option類型,用來測試指針是否有值。Rust同時引入添加語法來管理生命周期,而且編譯器通過租借檢查器來說明相關(guān)理由。

內(nèi)存管理
Rust不像Go,Java以及.NET Framework那樣使用自動垃圾回收系統(tǒng)。不同的是Rust通過RAII來管理內(nèi)存和資源,還可選引用計數(shù)。Rust以低開銷提供資源確定性管理。Rust也支持值的棧分配并不表現(xiàn)暗箱。
Rust里也有引用概念(用&符號),不包含運行時引用計數(shù)。使得此類指針的安全性已獲得租用檢查器的編譯時驗證,阻止懸垂指針和其它形式的未定義行為。

作者簡介

Rust語言在2006年作為 Mozilla 員工 Graydon Hoare 的私人項目出現(xiàn),而 Mozilla 于 2009 年開始贊助這個項目。第一個有版本號的 Rust 編譯器于2012 年 1 月發(fā)布。Rust 1.0 是第一個穩(wěn)定版本,于 2015年5月15日發(fā)布。 [14] “Rust”最初是Mozilla公司的 Graydon Hoare的私人項目。2009年Mozilla開始贊助此項目,并有若干 Mozilla 員工參與 Rust 語言的設(shè)計和研發(fā)。2013年8月,Graydon Hoare卸任 Rust 技術(shù)負責人職位,由Brian Anderson接任。 [15]2015年5月15日,Rust 1.0版本正式發(fā)布。2017年9月,Brian Anderson離開Mozilla,項目核心團隊由 Aaron Turon和 Niko Matsakis接管共同領(lǐng)導(dǎo),另外,Aaron Turon是 Mozilla的Rust團隊的負責人。 [16] 創(chuàng)建這個新語言的目的是為了解決一個頑疾:軟件的演進速度大大低于硬件的演進,軟件在語言級別上無法真正利用多核計算帶來的性能提升。Rust是針對多核體系提出的語言,并且吸收一些其他動態(tài)語言的重要特性,比如不需要管理內(nèi)存,比如不會出現(xiàn)Null指針等等。

在線閱讀

文件大小: 4.21MB

本書PDF版本下載

您需要先支付 0.20元 才能下載此資源!立即支付

類似文章

發(fā)表回復(fù)

您的電子郵箱地址不會被公開。 必填項已用*標注