
- Rust 教程
- Rust - 首頁
- Rust - 簡介
- Rust - 環境搭建
- Rust - HelloWorld 示例
- 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 - 有用資源
- Rust - 討論
Rust - 常量
常量表示不能更改的值。如果您聲明瞭一個常量,則其值無法更改。使用常量的關鍵字是const。常量必須顯式型別化。以下是宣告常量的語法。
const VARIABLE_NAME:dataType = value;
Rust 常量命名約定
常量的命名約定與變數的命名約定類似。常量名中的所有字元通常都大寫。與宣告變數不同,不使用let關鍵字來宣告常量。
我們在下面的示例中使用了 Rust 中的常量:
fn main() { const USER_LIMIT:i32 = 100; // Declare a integer constant const PI:f32 = 3.14; //Declare a float constant println!("user limit is {}",USER_LIMIT); //Display value of the constant println!("pi value is {}",PI); //Display value of the constant }
常量與變數
在本節中,我們將瞭解常量和變數之間的區別因素。
常量使用const關鍵字宣告,而變數使用let關鍵字宣告。
變數宣告可以選擇具有資料型別,而常量宣告必須指定資料型別。這意味著
const USER_LIMIT=100
將導致錯誤。使用let關鍵字宣告的變數預設情況下是不可變的。但是,您可以使用mut關鍵字選擇修改它。常量是不可變的。
常量只能設定為常量表達式,而不能設定為函式呼叫或任何其他將在執行時計算的值的結果。
常量可以在任何作用域中宣告,包括全域性作用域,這使得它們對於許多程式碼部分需要了解的值很有用。
變數和常量的遮蔽
Rust 允許程式設計師宣告同名的變數。在這種情況下,新變數將覆蓋之前的變數。
讓我們用一個例子來理解這一點。
fn main() { let salary = 100.00; let salary = 1.50 ; // reads first salary println!("The value of salary is :{}",salary); }
上面的程式碼聲明瞭兩個名為 salary 的變數。第一個宣告賦值為 100.00,而第二個宣告賦值為 1.50。第二個變數在顯示輸出時會遮蔽或隱藏第一個變數。
輸出
The value of salary is :1.50
Rust 在遮蔽時支援具有不同資料型別的變數。
考慮以下示例。
程式碼聲明瞭兩個名為uname的變數。第一個宣告賦值為字串值,而第二個宣告賦值為整數。len 函式返回字串值中的字元總數。
fn main() { let uname = "Mohtashim"; let uname = uname.len(); println!("name changed to integer : {}",uname); }
輸出
name changed to integer: 9
與變數不同,常量不能被遮蔽。如果將上述程式中的變數替換為常量,編譯器將丟擲錯誤。
fn main() { const NAME:&str = "Mohtashim"; const NAME:usize = NAME.len(); //Error : `NAME` already defined println!("name changed to integer : {}",NAME); }
廣告