一、rust的特性和優勢
高性能,無運行時和垃圾回收機制
高可靠 內存安全和線程安全(如何保證的)
社區是否活躍?文檔是否齊全
二、搭建集成開發環境,寫helloworld
三、過一遍rust的語法
3.1 原生類型
整數,浮點數,字符,字符串
元組 ()括號來構成,函數可以使用元組來返回多個值
3.2 數組
數組的類型標記爲 [T; size]( 譯註:T 爲元素的類型,size 表示數組的大小)。
3.3 切片
slice 的類型標記爲 &[T]
3.4自定義結構體
enum 定義枚舉類型
struct 定義結構體類型
常量可通過const 和 static來創建
3.5 常量和變量
變量綁定可以在聲明時說明類型,不過在大多情況下,編譯器能夠根據上下文推導出變量的類型,從而大大減少了類型說明的工作。
在變量的後綴加上類型說明
變量作用域
四、函數
傳值
傳引用
fn關鍵字,函數參數,函數返回值,可使用return也可不用
五、別名
使用type語句給已有的類型取個新名字。
六、流程控制
if/else
for循環 for in結構可以遍歷一個迭代器
七、match語句
match 匹配單個值,多個值,區間範圍,其他情況
match元組
match枚舉
match 指針和引用
解引用使用 *
解構使用 &、ref、和 ref mut
match 結構體
八、let語句
let ref _is_a_reference = 3;
if let語句 實現match的功能
let letter: Option<i32> = None;
這個Option是什麼意思
九、方法
方法是依附於對象的函數,這些方法通過關鍵字self來訪問對象中的數據和其他。
靜態方法使用::雙冒號調用
實例方法
fn area(&self) -> f64 {
}
通過點運算符來調用
十、閉包(lambda表達式)後續研究
聲明時使用 || 替代 () 將輸入參數括起來。
函數體定界符({})對於單個表達式是可選的,其他情況必須加上。
有能力捕獲外部環境的變量。
十一、模塊
默認可見性爲private,可使用‘pub’修飾語來改變其默認可見性
十二、rust構建工具和包管理器
CARGO rust包管理器和構建系統
編譯錯誤索引表
RUSTC熟悉rust編譯器中可用的選項
crate是什麼概念
可以在路徑中使用 super (父級)和 self(自身)關鍵字,從而在訪問項時消除 歧義,以及防止不必要的路徑硬編碼。
參考資料: