Rust常量和運算符

Rust常量和運算符

整數 1, 浮點數 1.2, 字符 'a', 字符串 "abc", 布爾 true 和單位類型 () 可以用常量來表示。

整數可選地,使用十六進制,或者使用八進制或二進制記數法表示爲前綴: 0x, 0o0b.

下劃線可以插在數值常量來提高可讀性,如:. 1_000 就類似於 1000, 並且 0.000_001 類似於 0.000001.

我們需要告訴編譯器,使用常量的類型。現在,我們將使用 u32 後綴表明該文本是一個無符號的32位整數, 和 i32 後綴以表明它是一個符號的32位整數。

現有運算符和它們的優先級類似於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);

}