文檔列表見:Rust 移動端跨平臺復(fù)雜圖形渲染項目開發(fā)總結(jié) - 目錄
對于變量聲明,Rust默認(rèn)不可變,需要顯式加mut關(guān)鍵字才可變。C/C++默認(rèn)可變,不可變需加const關(guān)鍵字。嚴(yán)格意義上,Rust的let語法屬于綁定,和C++的變量聲明存在很大區(qū)別。
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繼續(xù)添加元素,否則編譯報錯
let mut matched_names = Vec::new();
matched_names.push("Mike");
matched_names.push("Michael");
matched_names.push("Jack");
{
// let的另一種用法:重新綁定,
// 允許同一個代碼塊(block)中存在相同名稱的綁定,
// 后面的綁定表達(dá)式自動遮蔽(Shadowing)前面的同名綁定,
// 下面代碼是合法的
let object = String::from("hello");
println!("{}", object);
let object = 1000_000_u32;
println!("{}", object);
}