文件列表見:Rust 移動端跨平臺複雜圖形渲染專案開發系列總結(目錄)
對於變數宣告,Rust預設不可變,需顯式加mut關鍵字才可變。C/C++預設可變,不可變需加const關鍵字。嚴格意義上,Rust的let語法屬於繫結,和C++的變數宣告存在很大區別。 為了降低從C++轉Rust的學習難度,有些知識點可以先套用,有更多瞭解後再深究。
C++示例:
int index = 100;
index = 200; // 編譯執行正常
複製程式碼
Rust示例:
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);
}
複製程式碼