1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Rust - 基本的なデータ型について

Last updated at Posted at 2022-01-27

はじめに

この記事は、私が Rust の学習時に書いた備忘録となります。間違い等があればコメント等で教えていただけると助かります。

データ型

Rust には大きく分けて2種類のデータ型(Data Types)がある。

スカラー型

スカラー型(Scalar Types)とは単一の値を持つ型のこと。整数や浮動小数点数, 論理値や文字などがそれに該当する。

整数型

整数型(Integer Types)はその名と通り整数の型。
負数を扱える「符号付き」(i)と、負数を扱えない「符号無し」(u)がある。
また、コンピュータのアーキテクチャに依存する isizeusize がある。

型注釈がない場合は、デフォルトの整数型である i32 型となる。

符号付きは負数を扱えるが、最大値が小さい。符号無しは負数を扱えないが、最大値が大きい:

ビット数 最小値 最大値
i8 8 -128 127
i16 16 -32768 32767
i32 32 -2147483648 2147483647
i64 64 -9223372036854775808 9223372036854775807
i128 128 -170141183460469231731687303715884105728 170141183460469231731687303715884105727
isize arch - -
u8 8 0 255
u16 16 0 65535
u32 32 0 4294967295
u64 64 0 18446744073709551615
u128 128 0 340282366920938463463374607431768211455
usize arch 0 -
ドキュメント

浮動小数点型

浮動小数点型(Floating-Point Types)は小数点を含む数値を表現する型。単精度(f32)と倍精度(f64)があり、倍精度である f64 がデフォルトとなっている。

ビット数 種類
f32 32 単精度浮動小数点数
f64 64 倍精度浮動小数点数

現代のコンピューターどちらも速度がほぼ変わらないため、精度の高い f64 を使うことが一般的となっている。

ドキュメント:

論理値型

論理値(Boolean Types)は真偽値。真を表す true と、偽を表す false の2種類がある。

ドキュメント: bool

文字型

文字型(Character Type)とは、単一の Unicode を含む型。ダブルクォーテーション " ではなく、シングルクォーテーション' を使って文字を囲う。

let a: char = 'A'
let b: char = '🤓'

ドキュメント: char

複合型

複合型(Compound Types)とは複数の値を1つの型にまとめることができる型。タプル型や配列型がそれに該当する。

タプル型

タプル型(Tuple Types)とは異なる型の値を1つの型にまとめる型。

let t = (64, 128.0, true, 'X');

タプルの中身は let キーワードを使って分配することができる:

let t = (0, 1, 2);
let (i, ii, iii) = t;
println!("{}{}{}", i, ii, iii); // 012

もちろん、添字アクセスも可能:

let t = ('a', 'b', 'c');
println!("{}", t.2); // c

可変にすれば上書きも可能:

let mut t = ("ほうれん草", "しめじ", "ジーマーミ豆腐");
println!("{:?}", t); // ("ほうれん草", "しめじ", "ジーマーミ豆腐")
t.2 = "ピータン豆腐";
println!("{:?}", t); // ("ほうれん草", "しめじ", "ピータン豆腐")

ドキュメント: tuple

配列型

配列型(Array Types)とは同一の型の値を1つの型にまとめる型。タプルとは異なり、全要素が同じ型でなければならず、長さが固定となっている。

let a = ["报連草", "占地", "皮蛋豆腐"];

添字アクセス:

let a = ["麦芽コーヒー", "抹茶", "紅茶"];
println!("{}", a[2]); // 紅茶

ドキュメント: array

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?