文檔列表見:Rust 移動端跨平臺複雜圖形渲染項目開發系列總結(目錄)c++
對於變量聲明,Rust默認不可變,需顯式加mut關鍵字纔可變。C/C++默認可變,不可變需加const關鍵字。嚴格意義上,Rust的let語法屬於綁定,和C++的變量聲明存在很大區別。 爲了下降從C++轉Rust的學習難度,有些知識點能夠先套用,有更多瞭解後再深究。post
C++示例:學習
int index = 100;
index = 200; // 編譯運行正常
複製代碼
Rust示例:ui
let index = 100;
index = 200; // 編譯報錯
/********************************************/
// mut表示聲明一個可變綁定,以後active_index綁定新值
let mut active_index = 20;
active_index = 30; // 編譯運行正常
// 加mut才容許後面向matched_names綁定的Vector繼續添加元素,不然編譯報錯
let mut matched_names = Vec::new();
matched_names.push("Mike");
matched_names.push("Michael");
matched_names.push("Jack");
{
// let的另外一種用法:從新綁定,
// 容許同一個代碼塊(block)中存在相同名稱的綁定,
// 後面的綁定表達式自動遮蔽(Shadowing)前面的同名綁定,
// 下面代碼是合法的
let object = String::from("hello");
println!("{}", object);
let object = 1000_000_u32;
println!("{}", object);
}
複製代碼