Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

プリミティブ

Rust はさまざまな primitives へのアクセスを提供します。例を以下に示します。

スカラー型

  • 符号付き整数: i8i16i32i64i128、および isize(ポインターサイズ)
  • 符号なし整数: u8u16u32u64u128、および usize(ポインター サイズ)
  • 浮動小数点数: f32f64
  • char'a''α''∞' のような Unicode スカラー値(各 4 バイト)
  • booltrue または false
  • ユニット型 ()。取り得る唯一の値は空のタプル ()

ユニット型の値はタプルですが、複数の値を含まないため複合型とは見なされません。

複合型

  • [1, 2, 3] のような配列
  • (1, true) のようなタプル

変数にはいつでも_型注釈_を付けることができます。数値にはさらに、_サフィックス_または_デフォルト_によって注釈を付けることができます。整数のデフォルトは i32、浮動小数点数のデフォルトは f64 です。 なお、Rust はコンテキストから型を推論することもできます。

fn main() {
    // 変数には型注釈を付けることができます。
    let logical: bool = true;

    let a_float: f64 = 1.0;  // 通常の注釈
    let an_integer   = 5i32; // サフィックスによる注釈

    // またはデフォルトが使用されます。
    let default_float   = 3.0; // `f64`
    let default_integer = 7;   // `i32`

    // 型はコンテキストから推論することもできます。
    let mut inferred_type = 12; // 型 i64 は別の行から推論されます。
    inferred_type = 4294967296i64;

    // 可変変数の値は変更できます。
    let mut mutable = 12; // 可変な `i32`
    mutable = 21;

    // エラー!変数の型は変更できません。
    mutable = true;

    // 変数はシャドーイングによって上書きできます。
    let mutable = true;

    /* 複合型 - 配列とタプル */

    // 配列のシグネチャは、型 T と長さから [T; length] として構成されます。
    let my_array: [i32; 5] = [1, 2, 3, 4, 5];

    // タプルは異なる型の値のコレクションであり、
    // 丸括弧 () を使用して構築されます。
    let my_tuple = (5u32, 1u8, true, -5.04f32);
}

関連項目:

std ライブラリmutinference、および shadowing