【Rust】変数とデータ型の基本的な説明とサンプルコード

Rustの変数とデータ型の基本的な説明とサンプルコード

概要

この記事では、Rustの変数とデータ型について基本的な説明とサンプルコードを紹介します。Rustはメモリ安全性とスレッド安全性を重視したシステムプログラミング言語であり、静的型付けの特徴も持っています。変数の宣言方法や基本的なデータ型について理解することは、Rustのプログラミングを始める上で重要な基礎知識となります。

変数の宣言と初期化

Rustでは、変数の宣言時に

let

キーワードを使用します。変数の宣言時には、型を明示的に指定することもできますが、通常は型推論によって型が自動的に決定されます。以下に、変数の宣言と初期化の基本的なパターンを示します。


let x = 5; // 型推論によってxはi32型となる
let y: u32 = 10; // u32型の変数yの宣言
let z: bool = true; // bool型の変数zの宣言

データ型

Rustには様々なデータ型が存在します。以下に、いくつかの基本的なデータ型とその使い方を紹介します。

整数型

Rustの整数型は、符号付きと符号無しの2つに分かれています。以下に、代表的な整数型とその範囲を示します。

  • i8

    : 符号付き8ビット整数 (-128 から 127)

  • u8

    : 符号無し8ビット整数 (0 から 255)

  • i16

    : 符号付き16ビット整数 (-32768 から 32767)

  • u16

    : 符号無し16ビット整数 (0 から 65535)

  • i32

    : 符号付き32ビット整数 (-2147483648 から 2147483647)

  • u32

    : 符号無し32ビット整数 (0 から 4294967295)

  • i64

    : 符号付き64ビット整数 (-9223372036854775808 から 9223372036854775807)

  • u64

    : 符号無し64ビット整数 (0 から 18446744073709551615)

以下に、整数型の変数の宣言と使用例を示します。


let a: i32 = 42;
let b: u8 = 255;
let sum = a + b;
println!("sum = {}", sum);

浮動小数点型

Rustの浮動小数点型は、

f32

f64

の2つがあります。

f32

は単精度浮動小数点数であり、

f64

は倍精度浮動小数点数です。以下に、浮動小数点型の変数の宣言と使用例を示します。


let pi: f64 = 3.14159265359;
let radius: f32 = 2.5;
let area = pi * (radius * radius);
println!("area = {}", area);

文字型

Rustの文字型は、Unicodeスカラ値を表現するために

char

型が使用されます。以下に、文字型の変数の宣言と使用例を示します。


let c: char = '?';
println!("c = {}", c);

真偽値型

Rustの真偽値型は、

bool

型です。

true

または

false

の2つの値を取ります。以下に、真偽値型の変数の宣言と使用例を示します。


let is_rust_awesome: bool = true;
if is_rust_awesome {
    println!("Rust is awesome!");
} else {
    println!("Rust is not awesome.");
}

まとめ

この記事では、Rustの変数とデータ型について基本的な説明とサンプルコードを紹介しました。変数の宣言方法や基本的なデータ型の使い方を理解することは、Rustのプログラミングを始める上で重要なステップです。これらの基礎知識を身につけることで、より複雑なプログラムを作成するための土台を築くことができます。是非、実際に手を動かしながら学んでみてください。

Rustの変数とデータ型の基本的な説明とサンプルコードを紹介しました。Rustの静的型付けとメモリ安全性の特徴を活かしながら、効果的なシステムプログラミングを行うためには、変数とデータ型を正しく理解することが不可欠です。以上の情報を基に、Rustのプログラミングスキルを向上させてください。

0 0 votes
Article Rating
Subscribe
Notify of
guest

0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x