Rust-constant
提供:Dev Guides
錆-一定
定数は、変更できない値を表します。 定数を宣言すると、その値が変わることはありません。 定数を使用するためのキーワードは 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
}
定数と変数
このセクションでは、定数と変数の差別化要因について学びます。
- 定数は 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は、シャドウイング中に異なるデータ型の変数をサポートします。
次の例を考えてください。
このコードは、 _ uname_ という名前で2つの変数を宣言しています。 最初の宣言には文字列値が割り当てられ、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);
}