RUST語言學習

一、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(自身)關鍵字,從而在訪問項時消除 歧義,以及防止不必要的路徑硬編碼。

 

參考資料:

https://rustwiki.org/zh-CN/rust-by-example/flow_control/match/destructuring/destructure_pointers.html

發佈了147 篇原創文章 · 獲贊 120 · 訪問量 49萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章