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