原生类型

Rust 提供了多种原生类型,包括:

  • 有符号整型(signed integers):i8i16i32i64isize(指针 size)
  • 无符号整型(unsigned integers): u8u16u64usize(指针 size)
  • 浮点类型(floating point): f32f64
  • char(字符):单独的 Unicode 字符,如 'a''α''∞'(大小都是4个字节)
  • bool(布尔型):只能是 truefalse
  • 单元类型(unit type,空元组): 只有 () 这个唯一值
  • 数组:如 [1, 2, 3]
  • 元组: 如 (1, true)

变量都能够显式地给出类型声明。数字可以通过加后缀默认方式来额外地声明。整型默认为
i32 类型,浮点型默认为 f64 类型(译注:此说法不明确,Rust语言参考指出:
未声明类型数值的具体类型由实际使用情况推断,比如一个未声明类型整数和 i64 的整数相加,则该
整数会自动推断为 i64 类型,仅当使用环境无法推断时,整型数值时才断定为 i32,浮点数值才
断定为 f64)。

  1. fn main() {
  2. // 变量可以声明类型。
  3. let logical: bool = true;
  4. let a_float: f64 = 1.0; // 常规声明
  5. let an_integer = 5i32; // 后缀声明
  6. // 否则自动推断类型。
  7. let default_float = 3.0; // `f64`
  8. let default_integer = 7; // `i32`
  9. let mut mutable = 12; // 可变类型 `i32`。
  10. // 报错!变量的类型不可改变。
  11. mutable = true;
  12. }

参见:

std