2 Primitives
Rust provides access to a wide variety of primitives
. A sample includes:
- signed integers:
i8
,i16
,i32
,i64
andisize
(pointer size) - unsigned integers:
u8
,u16
,u32
,u64
andusize
(pointer size) - floating point:
f32
,f64
char
Unicode scalar values like'a'
,'α'
and'∞'
(4 bytes each)bool
eithertrue
orfalse
- and the unit type
()
, whose only value is also()
- arrays like
[1, 2, 3]
- tuples like
(1, true)
Variables can always be type annotated. Numbers may additionally be
annotated via a suffix or by default. Integers default to i32
and
floats to f64
.
fn main() {
// Variables can be type annotated.
let logical: bool = true;
let a_float: f64 = 1.0; // Regular annotation
let an_integer = 5i32; // Suffix annotation
// Or a default will be used.
let default_float = 3.0; // `f64`
let default_integer = 7; // `i32`
let mut mutable = 12; // Mutable `i32`.
// Error! The type of a variable can't be changed
mutable = true;
}