Rust データ型

Rust言語にはいくつかの基本的なデータ型があります。

整数型(Integer)

整数型は整数と略され、ビットの長さや符号の有無により以下の型に分類されます。

ビットの長さ符号あり符号なし
8-biti8u8
16-biti16u16
32-biti32u32
64-biti64u64
128-biti128u128
archisizeusize

isizeとusize、この2つの整数型は、データのサイズを測定するために使用されます。ビットの長さは、実行しているターゲットプラットフォームによって異なります。32ビットアーキテクチャプロセッサの場合、32ビット長整数型を使用します。

整数を表現する方法は次となります。

进制
10進数98_222
16進数0xff
8進数0o77
バイナリ0b1111_0000
バイト( u8型のみ表示する)b’A’

明らかに、ある整数の中央にアンダースコアがあります。この設計により、大きい数値を入力するときに数値の値を判断しやすくなります。

浮動小数点型(Floating-Point)

Rustは、他の言語と同様に、32ビット浮動小数点数(f32)と64ビット浮動小数点数(f64)をサポートしています。現在のコンピュータープロセッサは2つの浮動小数点数に対する計算速度がほぼ同じですが、64ビット浮動小数点数の方が精度が高いため、デフォルトでは64.0は64ビット浮動小数点数を表します。

実例

fn main() {
    let x = 2.0; // f64
    let y: f32 = 3.0; // f32
}

数学演算

プログラムを使用して、数学演算を表します。

実例

fn main() { 
    let sum = 5 + 10; // 加算 
    let difference = 95.5 - 4.3; // 減算 
    let product = 4 * 30; // 乗算 
    let quotient = 56.7 / 32.2; // 除算 
    let remainder = 43 % 5; // 剰余演算
}

多くの算術記号の後ろに=記号を追加することは自動計算を意味します。例えば:

sum += 1 は sum = sum + 1と同じです。

ヒント:Rustは++と-をサポートしていません。変数の前後にこれら2つの演算子が存在する場合、コードの可読性に影響を与え、変数の変更に対する開発者の認識が弱くなるためです。

ブール値

ブール値はboolで表され、値はtrueまたはfalseのみになります。

char型

char型はcharで表されます。

Rustのchar型のサイズが4バイトで、Unicodeスカラ値を表します。つまり、日本語、韓国語、中国語の文字などの英語以外の文字をサポートでき、絵文字やゼロ幅スペースもRustには有効なchar値です。

Unicode値の範囲は、U +0000からU + D7FFおよびU + E000からU + 10FFFFまでです。(両端を含む) ただし、「char」という概念はUnicodeには存在しないため、「char」についての直感は、Rustの文字の概念と一致しない場合があります。そのため、文字列を使用してUTF-8文字を格納することをお勧めします。(英語以外の文字はできるだけ文字列に表示されます)

ヒント:日本語の文字コードは2つ(GBKとUTF-8)があるため、プログラミングで日本語の文字列を使用すると、文字が文字化けする可能性があります。これは、ソースプログラムとコマンドラインの文字コードに一致しないため、Rustの文字列と文字でUTF-8エンコーディングを使用する必要があります。そうしないと、コンパイラがエラーを報告します。

複合型

タプルは()に含まれるデータのセットが、さまざまな型のデータを含めることができます。

実例

let tup: (i32, f64, u8) = (500, 6.4, 1);
// tup.0 = 500
// tup.1 = 6.4
// tup.2 = 1
let (x, y, z) = tup;
// y = 6.4

配列は[]で同じ型のデータを含めます。

実例

let a = [1, 2, 3, 4, 5];
// a は長さが5である整数配列です

let b = ["January", "February", "March"];
// b は長さが3である文字列配列です


let c: [i32; 5] = [1, 2, 3, 4, 5];
// c は長さが5であるi32配列です

let d = [3; 5];
//  let d = [3, 3, 3, 3, 3]に相当します;

let first = a[0];
let second = a[1];
// 配列にアクセスします

a[0] = 123; // エラー:配列 a は不変です
let mut a = [1, 2, 3];
a[0] = 4; // 正解
Share

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です