Rust 中的整型

    长度 有符号 无符号
    8-bit i8 u8
    16-bit i16 u16
    32-bit i32 u32
    64-bit i64 u64
    128-bit i128 u128
    arch isize usize

    每一个有符号的变体可以储存包含从 -(2) 到 2 - 1 在内的数字,这里 n 是变体使用的位数。所以 i8 可以储存从 -(2) 到 2 - 1 在内的数字,也就是从 -128 到 127。无符号的变体可以储存从 0 到 2 - 1 的数字,所以 u8 可以储存从 0 到 2 - 1 的数字,也就是从 0 到 255。

    另外,isizeusize 类型依赖运行程序的计算机架构:64 位架构上它们是 64 位的, 32 位架构上它们是 32 位的。

    可以使用表格 3-2 中的任何一种形式编写数字字面值。注意除 byte 以外的所有数字字面值允许使用类型后缀,例如 57u8,同时也允许使用 _ 做为分隔符以方便读数,例如1_000

    1. let x = 96u8;
    2. let x: u8 = 96;
    3. let y = 57u32;
    4. let y: u32 = 57;
    5. let z = 1_000;

    Rust 中的整型字面值

    数字字面值 例子
    Decimal 98_222
    Hex 0xff
    Octal 0o77
    Binary 0b1111_0000
    Byte (u8 only) b'A'

    Rust 浮点型
    Rust 的浮点数类型是 f32f64,分别占 32 位和 64 位。默认类型是 f64
    f32 是单精度浮点数,f64 是双精度浮点数。

    1. let x = 2.0; // f64
    2. let y: f32 = 3.0; // f32

    数值运算

    1. // 加法
    2. let sum = 5 + 10;
    3. // 减法
    4. let difference = 95.5 - 4.3;
    5. // 乘法
    6. let product = 4 * 30;
    7. // 除法
    8. let quotient = 56.7 / 32.2;
    9. // 取余
    10. let remainder = 43 % 5;

    布尔类型使用 bool 表示

    1. let t = true;
    2. let f: bool = false; // 显式指定类型注解

    Rust 的 char 类型是语言中最原生的字母类型,如下代码展示了如何使用它。(注意 char 由单引号指定,不同于字符串使用双引号。)

    1. let c = 'z';
    2. let z = 'ℤ';
    3. let heart_eyed_cat = '😻';