Rust教學
Rust下載和安裝
Rust簡介
Rust Hello World
Rust的特點
Rust註釋
Rust開發環境安裝
Rust文檔
Rust第一個程序
Rust格式化打印
Rust調試
Rust顯示
測試用例:列表
Rust格式化
Rust原語
Rust常量和運算符
Rust元組
Rust數組和切片
Rust自定義類型
Rust結構
Rust可視性
Rust枚舉
Rust常量
Rust變量綁定
Rust變量綁定-可變性
Rust變量綁定-範圍和陰影
Rust變量綁定-聲明
Rust類型轉換
Rust類型轉換 - 字面量
Rust類型轉換-推導
Rust類型轉換 - 別名
Rust表達式
Rust if/else語句
Rust循環
Rust嵌套和標籤
Rust while循環
Rust for和範圍
Rust匹配/match
Rust匹配析構元組
Rust解構枚舉
Rust指針和引用
Rust解構結構
Rust Guards
Rust綁定
Rust if let
Rust while let
Rust函數
Rust方法
Rust閉包
Rust捕捉
Rust作爲輸入參數
Rust匿名類型
Rust輸入函數
Rust作爲輸出參數
Rust變量綁定-範圍和陰影
範圍和陰影
變量綁定有一個範圍,並且被約束在一個塊中。塊是語句的集合括在大括號 {}
內,所以, 變量陰影 是被允許的。
fn main() {
// This binding lives in the main function
let long_lived_binding = 1;
// This is a block, and has a smaller scope than the main function
{
// This binding only exists in this block
let short\_lived\_binding = 2;
println!("inner short: {}", short\_lived\_binding);
// This binding \*shadows\* the outer one
let long\_lived\_binding = 5\_f32;
println!("inner long: {}", long\_lived\_binding);
}
// End of the block
// Error! \`short\_lived\_binding\` doesn't exist in this scope
println!("outer short: {}", short\_lived\_binding);
// FIXME ^ Comment out this line
println!("outer long: {}", long\_lived\_binding);
}