Primitive Types
| Type | Description | Range/Size |
|---|---|---|
i8 | Signed 8-bit integer | -128 to 127 |
i16 | Signed 16-bit integer | -32,768 to 32,767 |
i32 | Signed 32-bit integer (default) | -2^31 to 2^31-1 |
i64 | Signed 64-bit integer | -2^63 to 2^63-1 |
i128 | Signed 128-bit integer | -2^127 to 2^127-1 |
u8 | Unsigned 8-bit integer | 0 to 255 |
u16 | Unsigned 16-bit integer | 0 to 65,535 |
u32 | Unsigned 32-bit integer | 0 to 2^32-1 |
u64 | Unsigned 64-bit integer | 0 to 2^64-1 |
u128 | Unsigned 128-bit integer | 0 to 2^128-1 |
f32 | 32-bit floating point | IEEE 754 single |
f64 | 64-bit floating point (default) | IEEE 754 double |
bool | Boolean | true or false |
char | Unicode scalar value | U+0000 to U+10FFFF |
string | UTF-8 string | Arbitrary length |
void | No value | Used for functions returning nothing |
Integer Literals
42 // Decimal
0xff // Hexadecimal
0b1010 // Binary
1_000_000 // With underscores for readability
42i64 // With type suffixSupported suffixes: i8, i16, i32, i64, i128, u8, u16, u32, u64, u128
Float Literals
3.14 // Decimal
1.0e-10 // Scientific notation
2.5f32 // With type suffixSupported suffixes: f32, f64
Boolean Literals
true
falseCharacter Literals
'A' // ASCII character
'🎉' // Unicode character
'\n' // Escape sequence
'\t' // Tab
'\\' // Backslash
'\'' // Single quoteString Literals
"Hello, World!"
"Line 1\nLine 2" // With escape sequences
"Tab:\tHere"
"Quote: \"hi\""Escape sequences: \n (newline), \t (tab), \\ (backslash), \" (quote), \r (carriage return), \$ (literal dollar sign)