Rust 速習チュートリアル

Rust のデータ型

1. データ型 (Data Types)

多くのプログラミング言語とは異なり、Rustの変数は必ずしも特定の型(テキスト用の "String" や数値用の "Int" など)を明示して宣言する必要はありません。

Rustでは、変数の型は代入された値によって決定されます。Rustは値を参照し、自動的に適切な型を選択します。これを型推論と呼びます。

例:

let my_num = 5;            // 整数 (integer)
let my_double = 5.99;      // 浮動小数点 (float)
let my_letter = 'D';       // 文字 (character)
let my_bool = true;        // 真偽値 (boolean)
let my_text = "こんにちは"; // 文字列 (string)

ただし、Rustに対して値がどの型であるべきかを明示的に伝えることも可能です。

例:

let my_num: i32 = 5;          // 整数 (integer)
let my_double: f64 = 5.99;    // 浮動小数点 (float)
let my_letter: char = 'D';    // 文字 (character)
let my_bool: bool = true;     // 真偽値 (boolean)
let my_text: &str = "こんにちは"; // 文字列 (string)

型を指定する必要があるケースについては、このチュートリアルの後半で詳しく説明します。いずれにせよ、それぞれの型が何を意味するのかを理解しておくことは非常に重要です。

Rustの基本データ型は、いくつかのグループに分けられます。

  • 数値 (Numbers) - 整数および小数(i32, f64など)
  • 文字 (Characters) - 単一の文字や記号(char)
  • 文字列 (Strings) - テキスト、文字の連続(&str)
  • 真偽値 (Booleans) - 真(true)または偽(false)の値(bool)

2. 数値 (Numbers)

数値型は、「整数型」と「浮動小数点型」の2つのグループに分けられます。

2.1 整数型 (i32)

i32 型は、正または負の整数(123や-456など)を格納するために使用されます。小数点以下は含まれません。

例:

let age: i32 = 25;
println!("年齢は: {} 歳です", age);

2.2 浮動小数点型 (f64)

f64 型は、1つ以上の小数点を含む数値を格納するために使用されます。

例:

let price: f64 = 19.99;
println!("価格は: {} ドルです", price);

3. 文字型 (char)

char 型は、単一の文字を格納するために使用されます。char の値は、'A' や 'c' のようにシングルクォート(' ')で囲む必要があります。

例:

let my_grade: char = 'B';
println!("成績は {} です", my_grade);

4. 文字列型 (&str)

&str 型は、文字のシーケンス(テキスト)を格納するために使用されます。文字列の値は、ダブルクォート(" ")で囲む必要があります。

例:

let name: &str = "ジョン";
println!("こんにちは、{}さん!", name);

5. 真偽値型 (bool)

bool 型は、true(真)または false(偽)のいずれかの値のみを取ることができます。

例:

let is_logged_in: bool = true;
println!("ユーザーはログイン済み? {}", is_logged_in);

6. データ型の組み合わせ

同じプログラム内で、異なる型を混ぜて使用することができます。

例:

let name = "ジョン";
let age = 28;
let is_admin = false;

println!("名前: {}", name);
println!("年齢: {}", age);
println!("管理者権限: {}", is_admin);