LoginSignup
4
5

More than 3 years have passed since last update.

Rustのデータ型

Last updated at Posted at 2020-03-03

データには型がある

型とはデータの分類です。Rustでは以下のような型があります。

データの例 説明
bool true,false 真偽を表すデータ
char 'A', '4', 'Ψ' 一文字のユニコード
str "UTF-8の文字列" UTF-8の文字列

以下は数値を表す型です。末尾の数字はデータを表すのに必要なbit数です。

最小値 最大値
i8 -128 127
i16 -32768 32767
i32 -2147483648 2147483647
i64 -9223372036854775808 9223372036854775807
u8 0 255
u16 0 65535
u32 0 4294967295
u64 0 18446744073709551615
isize -9223372036854775808 9223372036854775807
usize 0 18446744073709551615
f32 -3.4028235e38 3.4028235e38
f64 -1.7976931348623157e308 1.7976931348623157e308

余談

最大値、最小値は以下のように知ることが出来ます。
std :: :: MAX →最大値
std :: :: MIN →最小値
以下はこの記事のテーブルを作成したコード。
マクロで簡単にできると思ったのですがうまくいかず・・・
結局置換機能を使って12行分書きました。

fn main() {
    println!("|型|最小値|最大値|");
    println!("|:--|:--|:--|");
    println!("|i8|{min}|{max}|", min = std::i8::MIN, max = std::i8::MAX);
    println!("|i16|{min}|{max}|", min = std::i16::MIN, max = std::i16::MAX);
    println!("|i32|{min}|{max}|", min = std::i32::MIN, max = std::i32::MAX);
    println!("|i64|{min}|{max}|", min = std::i64::MIN, max = std::i64::MAX);
    println!("|u8|{min}|{max}|", min = std::u8::MIN, max = std::u8::MAX);
    println!("|u16|{min}|{max}|", min = std::u16::MIN, max = std::u16::MAX);
    println!("|u32|{min}|{max}|", min = std::u32::MIN, max = std::u32::MAX);
    println!("|u64|{min}|{max}|", min = std::u64::MIN, max = std::u64::MAX);
    println!("|isize|{min}|{max}|", min = std::isize::MIN, max = std::isize::MAX);
    println!("|usize|{min}|{max}|", min = std::usize::MIN, max = std::usize::MAX);
    println!("|f32|{min:e}|{max:e}|", min = std::f32::MIN, max = std::f32::MAX);
    println!("|f64|{min:e}|{max:e}|", min = std::f64::MIN, max = std::f64::MAX);
}

目次

4
5
2

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
4
5