Rust by Example中文

2.1 Literals and operators

整数 1, 浮点数 1.2, 字符 'a', 字符串 "abc", 布尔值 true 以及单元(unit)类型 () 都能被用字面量表示。

整数可以使用前缀0x, 0o0b分别表示十六进制、八进制或二进制.

下划线可以用在数字字面量中提升可读性。比如 1_000 等同于 1000, 0.000_001 等同于0.000001.

我们需要告诉编译器使用的字面量类型。现在,我们将使用 u32后缀来标明该字面量是无符号32位整数,并且i32后缀标明符号型32位整数。

Rust中的 操作符及其优先级都类似于其他类C语言.。

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); }