さび-一定
定数は、変更できない値を表します。定数を宣言すると、その値が変わることはありません。定数を使用するためのキーワードはconst。定数は明示的に入力する必要があります。以下は、定数を宣言するための構文です。
const VARIABLE_NAME:dataType = value;
さび定数命名規則
定数の命名規則は、変数の命名規則と似ています。定数名のすべての文字は通常大文字です。変数の宣言とは異なり、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
}
定数v / s変数
このセクションでは、定数と変数の差別化要因について学習します。
定数は、を使用して宣言されます 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という名前で2つの変数を宣言しています。最初の宣言には100.00が割り当てられ、2番目の宣言には値1.50が割り当てられます。2番目の変数は、出力の表示中に最初の変数をシャドウまたは非表示にします。
出力
The value of salary is :1.50
Rustは、シャドウイング中にさまざまなデータ型の変数をサポートします。
次の例を考えてみましょう。
コードは名前で2つの変数を宣言します uname。最初の宣言には文字列値が割り当てられ、2番目の宣言には整数が割り当てられます。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);
}