Rust-data-types
Rust-データ型
型システムは、言語でサポートされているさまざまなタイプの値を表します。 タイプシステムは、プログラムによって保存または操作される前に、指定された値の有効性をチェックします。 これにより、コードが期待どおりに動作することが保証されます。 タイプシステムはさらに、より豊富なコードヒントと自動化されたドキュメントも可能にします。
Rustは静的に型付けされた言語です。 Rustのすべての値は特定のデータ型です。 コンパイラーは、割り当てられた値に基づいて変数のデータ型を自動的に推測できます。
変数を宣言する
上記の例では、変数のデータ型は、それらに割り当てられた値から推測されます。 たとえば、Rustは文字列データ型を変数_company_string_に、floatデータ型を_rating_float_に、などを割り当てます。
_println!_マクロは2つの引数を取ります-
- 特別な構文_ \ {} _、これはプレースホルダーです
- 変数名または定数
プレースホルダーは変数の値に置き換えられます
上記のコードスニペットの出力は次のようになります-
スカラー型
スカラー型は単一の値を表します。 たとえば、10,3.14、 'c'。 Rustには4つの主要なスカラー型があります。
- 整数
- 浮動小数点
- ブール値 *キャラクター
以降のセクションで各タイプについて学習します。
整数
整数は、小数部のない数字です。 簡単に言えば、整数データ型は整数を表すために使用されます。
整数は、符号付きと符号なしにさらに分類できます。 符号付き整数には、負の値と正の値の両方を格納できます。 符号なし整数は正の値のみを保存できます。 整数型が以下に与えられている場合の詳細な説明-
Sr.No. | Size | Signed | Unsigned |
---|---|---|---|
1 | 8 bit | i8 | u8 |
2 | 16 bit | i16 | u16 |
3 | 32 bit | i32 | u32 |
4 | 64 bit | i64 | u64 |
5 | 128 bit | i128 | u128 |
6 | Arch | isize | usize |
整数のサイズは_arch_にできます。 これは、データ型のサイズがマシンの_アーキテクチャ_から導出されることを意味します。 サイズが_arch_の整数は、x86マシンでは32ビット、x64マシンでは64ビットになります。 アーチ整数は、主に何らかのコレクションのインデックスを作成するときに使用されます。
図
出力は以下のようになります-
_age_の値を浮動小数点値に置き換えると、上記のコードはコンパイルエラーを返します。
整数範囲
各署名付きバリアントは、-(2 ^(n-1)から2 ^(n-1)-1_までの数値を格納できます。nは、バリアントが使用するビット数です。 たとえば、i8は-(2 ^ 7)から2 ^ 7 -1_までの数値を格納できます。ここでは、_n_を8に置き換えました。
各符号なしバリアントには、_0_から_2 ^(n-1)_までの数値を格納できます。 たとえば、u8は_0_から_2 ^ 7_の数値を保存できます。これは0から255に相当します。
整数オーバーフロー
整数変数に割り当てられた値がデータ型のRust定義範囲を超えると、整数オーバーフローが発生します。 例でこれを理解しましょう-
符号なしu8変数の有効範囲は0〜255です。 上記の例では、変数には255より大きい値が割り当てられています(Rustの整数変数の上限)。 実行時に、上記のコードは、重量、身長、スコア変数のu8_* の範囲外の警告-* _warning-リテラルを返します。 255の後のオーバーフロー値は、0、1、2などから始まります。 警告なしの最終出力は以下のとおりです-
浮く
Rustのフロートデータ型は、 f32 および f64 に分類できます。 f32型は単精度の浮動小数点数で、f64は倍精度です。 デフォルトのタイプはf64です。 floatデータ型の詳細を理解するには、次の例を検討してください。
出力は以下のようになります-
自動型鋳造
Rustでは自動型キャストは許可されていません。 次のコードスニペットを考えてください。 整数値がfloat変数 interest に割り当てられます。
以下に示すように、コンパイラは mismatched types error をスローします。
番号区切り
大きな数字を読みやすくするために、視覚的な区切り文字_アンダースコアを使用して数字を区切ることができます。 つまり、50,000は50_000と記述できます。 これを以下の例に示します。
出力は以下のとおりです-
ブール値
ブール型には、_true_または_false_の2つの値があります。 ブール変数を宣言するには、 bool キーワードを使用します。
図
上記のコードの出力は次のようになります-
キャラクター
Rustの文字データ型は、数字、アルファベット、ユニコード、特殊文字をサポートしています。 char キーワードを使用して、文字データ型の変数を宣言します。 Rustのchar型はUnicodeスカラー値を表します。つまり、ASCII以外の多くのことを表すことができます。 Unicodeスカラー値の範囲は、 U + 0000 から U + D7FF および U + E000 から U + 10FFFF です。
Characterデータ型についてさらに理解するための例を考えてみましょう。
上記のコードの出力は次のようになります-