差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
odin:basic-types [2025/05/20 13:44] – 作成 freemikan | odin:basic-types [2025/06/13 10:04] (現在) – [基本型] Set link to odin top page for logo image freemikan | ||
---|---|---|---|
行 1: | 行 1: | ||
====== 基本型 ====== | ====== 基本型 ====== | ||
+ | [[odin: | ||
+ | |||
Odin言語が備えている組み込みのデータ型を基本型と呼ぶことにします。 | Odin言語が備えている組み込みのデータ型を基本型と呼ぶことにします。 | ||
基本型は、その特性によって次のように分類することができます。 | 基本型は、その特性によって次のように分類することができます。 | ||
行 13: | 行 15: | ||
* 生ポインタ型 | * 生ポインタ型 | ||
* ランタイム型情報固有型 | * ランタイム型情報固有型 | ||
- | * | + | |
この内、使用頻度の高い、ブーリアン型、整数型、浮動小数点数型、ルーン型、文字列型について簡単に紹介しておきます。 | この内、使用頻度の高い、ブーリアン型、整数型、浮動小数点数型、ルーン型、文字列型について簡単に紹介しておきます。 | ||
+ | |||
===== ブーリアン型 ===== | ===== ブーリアン型 ===== | ||
- | ブーリアン型は、trueかfalseのどちらかの値を保持する型です。 | + | ブーリアン型は、'' |
ビット長の違いにより、複数のブーリアン型があります。 | ビット長の違いにより、複数のブーリアン型があります。 | ||
- | * bool | + | * '' |
- | * b8 | + | * '' |
- | * b16 | + | * '' |
- | * b32 | + | * '' |
- | * b64 | + | * '' |
- | 通常はbool型を用います。 | + | 通常は'' |
頻度は高くありませんが、ビット長が重要になる場合は、その他を用いることができます。 | 頻度は高くありませんが、ビット長が重要になる場合は、その他を用いることができます。 | ||
行 34: | 行 37: | ||
符号付き整数の型は以下のとおりです。 | 符号付き整数の型は以下のとおりです。 | ||
- | * | + | |
- | * int | + | * '' |
- | * i8 | + | * '' |
- | * i16 | + | * '' |
- | * i32 | + | * '' |
- | * i64 | + | * '' |
- | * i128 | + | * '' |
符号なし整数の型は以下のとおりです。 | 符号なし整数の型は以下のとおりです。 | ||
- | * uint | + | * '' |
- | * u8 | + | * '' |
- | * u16 | + | * '' |
- | * u32 | + | * '' |
- | * u64 | + | * '' |
- | * u128 | + | * '' |
- | * uintptr | + | * '' |
- | intとuinitはCPUのレジスタにとって最も自然サイズとなっています。 | + | '' |
- | つまり、32ビット環境ではi32とu32、64ビット環境ではi64とu64となることが期待されます。 | + | つまり、32ビット環境では'' |
また、ポインタのサイズよりと等しいかそれより大きくなることが保証されます。 | また、ポインタのサイズよりと等しいかそれより大きくなることが保証されます。 | ||
例えば '' | 例えば '' | ||
ブーリアンと違い、整数型はビット長により表現できる数の範囲が変わってくるので、intやuint以外の型の使用頻度は決して低くはありません。 | ブーリアンと違い、整数型はビット長により表現できる数の範囲が変わってくるので、intやuint以外の型の使用頻度は決して低くはありません。 | ||
- | また、外部言語(特にC言語)のインターフェイスと整合性をとるために、ビット長を明らかにする必要があるケースもあります。 | + | また、外部言語(特にC言語)のインターフェイスと整合性をとるために、ビット長を明らかにする必要があるケースも多くあります。 |
===== 浮動小数点数型 ===== | ===== 浮動小数点数型 ===== | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
- | * f16 | ||
- | * f32 | ||
- | * f64 | ||
===== ルーン型 ===== | ===== ルーン型 ===== | ||
+ | * '' | ||
- | * rune | ||
===== 文字列型 ===== | ===== 文字列型 ===== | ||
- | + | | |
- | | + | * '' |
- | * cstring | + | |