Rust常量和运算符 - Rust教程

Rust常量和运算符

整数 1, 浮点数 1.2, 字符 'a', 字符串 "abc", 布尔 true 和单位类型 () 可以用常量来表示。

整数可选地,使用十六进制,或者使用八进制或二进制记数法表示为前缀: 0x, 0o0b.

下划线可以插在数值常量来提高可读性,如:. 1_000 就类似于 1000, 并且 0.000_001 类似于 0.000001.

我们需要告诉编译器,使用常量的类型。现在,我们将使用 u32 后缀表明该文本是一个无符号的32位整数, 和 i32 后缀以表明它是一个符号的32位整数。

现有运算符和它们的优先级类似于<font color="#4183c4">C-类语言</font>

fn main() {
    // Integer addition
    println!("1 + 2 = {}", 1u32 + 2);

    // Integer subtraction
    println!("1 - 2 = {}", 1i32 - 2);
    // TODO ^ Try changing `1i32` to `1u32` to see why the type is important

    // Short-circuiting boolean logic
    println!("true AND false is {}", true && false);
    println!("true OR false is {}", true || false);
    println!("NOT true is {}", !true);

    // Bitwise operations
    println!("0011 AND 0101 is {:04b}", 0b0011u32 & 0b0101);
    println!("0011 OR 0101 is {:04b}", 0b0011u32 | 0b0101);
    println!("0011 XOR 0101 is {:04b}", 0b0011u32 ^ 0b0101);
    println!("1 << 5 is {}", 1u32 << 5);
    println!("0x80 >> 2 is 0x{:x}", 0x80u32 >> 2);

    // Use underscores to improve readability!
    println!("One million is written as {}", 1_000_000u32);
}