はじめに
この実験では、Rust によって提供されるさまざまなプリミティブ型について学びます。これには、符号付きおよび符号なし整数、浮動小数点数、Unicode スカラー値、ブール値、およびユニット型などのスカラー型が含まれます。また、配列やタプルなどの複合型を調べ、それぞれの型で変数を注釈付けする方法や、Rust にコンテキストから型を推論させる方法を学びます。
注: 実験でファイル名が指定されていない場合、好きなファイル名を使用できます。たとえば、
main.rsを使用して、rustc main.rs &&./mainでコンパイルして実行できます。
プリミティブ型
Rust は、幅広い「プリミティブ型」にアクセスできます。サンプルには以下が含まれます。
スカラー型
- 符号付き整数:
i8,i16,i32,i64,i128およびisize(ポインタサイズ) - 符号なし整数:
u8,u16,u32,u64,u128およびusize(ポインタサイズ) - 浮動小数点数:
f32,f64 charUnicode スカラー値、たとえば'a','α'および'∞'(それぞれ 4 バイト)boolはtrueまたは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;
}
まとめ
おめでとうございます!あなたはプリミティブ型の実験を完了しました。あなたの技術を向上させるために、LabEx でさらに多くの実験を行って練習してください。