blob: 94e6526a25ff116f5cf26cdcd74932eff94bd95d [file] [log] [blame] [view] [edit]
Integers `1`, floats `1.2`, characters `'a'`, strings `"abc"`, booleans `true`
and the unit type `()` can be expressed using literals.
Integers can, alternatively, be expressed using hexadecimal, octal or binary
notation using either of these prefixes: `0x`, `0o` or `0b`.
Underscores can be inserted in numeric literals to improve readability, e.g.
`1_000` is the same as `1000`, and `0.000_001` is the same as `0.000001`.
We need to tell the compiler what is the type of the literals we use. For now,
we'll use the `u` suffix to indicate that the literal is an unsigned integer,
and the `i` suffix to indicate that it's a signed integer. We'll cover the type
system in [another chapter](/type.html), and give more details about type
annotating literals in [their own section](/type/literals.html).
The operators available and their precedence are similar to other
[C-like languages](https://en.wikipedia.org/wiki/Operator_precedence#Programming_languages).
{literals.play}