文書の過去の版を表示しています。
基本型
Odin言語が備えている組み込みのデータ型を基本型と呼ぶことにします。 基本型は、その特性によって次のように分類することができます。
- ブーリアン型
- 整数型
- エンディアン固有整数型
- 浮動小数点数型
- 複素数型
- クオータニオン型
- ルーン型
- 文字列型
- 生ポインタ型
- ランタイム型情報固有型
この内、使用頻度の高い、ブーリアン型、整数型、浮動小数点数型、ルーン型、文字列型について簡単に紹介しておきます。
ブーリアン型
ブーリアン型は、trueかfalseのどちらかの値を保持する型です。 ビット長の違いにより、複数のブーリアン型があります。
- bool
- b8
- b16
- b32
- b64
通常はbool型を用います。 頻度は高くありませんが、ビット長が重要になる場合は、その他を用いることができます。
整数型
整数型には符号付きと符号なしがあります。
符号付き整数の型は以下のとおりです。
- int
- i8
- i16
- i32
- i64
- i128
符号なし整数の型は以下のとおりです。
- uint
- u8
- u16
- u32
- u64
- u128
- uintptr
intとuinitはCPUのレジスタにとって最も自然サイズとなっています。
つまり、32ビット環境ではi32とu32、64ビット環境ではi64とu64となることが期待されます。
また、ポインタのサイズよりと等しいかそれより大きくなることが保証されます。
例えば size_of(uint) >= size_of(uintptr)
が保証されます。
ブーリアンと違い、整数型はビット長により表現できる数の範囲が変わってくるので、intやuint以外の型の使用頻度は決して低くはありません。 また、外部言語(特にC言語)のインターフェイスと整合性をとるために、ビット長を明らかにする必要があるケースもあります。
浮動小数点数型
- f16
- f32
- f64
ルーン型
- rune
文字列型
- string
- cstring