以下是一个综合示例代码,展示了 Rust 中字面量、运算符及表达式的用法:
fn main() {
// 字面量的使用
// 整数字面量
let decimal = 42;
let hex = 0x2A;
let octal = 0o52;
let binary = 0b101010;
let large_number = 1_000_000;
// 浮点数字面量
let float = 3.14;
let scientific = 1.23e4;
let f32_value = 4.56f32;
let f64_value = 7.89f64;
// 字符字面量
let letter = 'a';
let chinese_char = '中';
let newline = '\n';
let unicode_escape = '\u{4E2D}';
// 字符串字面量
let greeting = "Hello, world!";
let multiline_string = "This is a\nmultiline string.";
let raw_string = r#"C:\Users\Alice\Documents"#;
// 布尔字面量
let is_active = true;
let is_disabled = false;
// 字节数组字面量
let bytes = b"Hello";
// 输出字面量的值
println!("整数字面量:decimal = {}, hex = {}, octal = {}, binary = {}, large_number = {}", decimal, hex, octal, binary, large_number);
println!("浮点数字面量:float = {}, scientific = {}, f32_value = {}, f64_value = {}", float, scientific, f32_value, f64_value);
println!("字符字面量:letter = {}, chinese_char = {}, newline = {:?}, unicode_escape = {}", letter, chinese_char, newline, unicode_escape);
println!("字符串字面量:greeting = {}, multiline_string = {}", greeting, multiline_string);
println!("原始字符串:raw_string = {}", raw_string);
println!("布尔字面量:is_active = {}, is_disabled = {}", is_active, is_disabled);
println!("字节数组字面量:bytes = {:?}", bytes);
// 运算符的使用
// 算术运算符
let sum = 1 + 2;
let difference = 5 - 3;
let product = 4 * 3;
let quotient = 10 / 2;
let remainder = 10 % 3;
// 逻辑运算符
let and_result = true && false;
let or_result = true || false;
let not_result = !true;
// 比较运算符
let equal = 1 == 2;
let not_equal = 1 != 2;
let greater_than = 2 > 1;
let less_than = 1 < 2;
let greater_than_or_equal = 2 >= 2;
let less_than_or_equal = 1 <= 2;
// 位运算符
let bitwise_and = 5 & 3;
let bitwise_or = 5 | 3;
let bitwise_xor = 5 ^ 3;
let bitwise_not = !5;
let left_shift = 5 << 1;
let right_shift = 5 >> 1;
// 赋值运算符
let mut a = 5;
a += 3;
let mut b = 5;
b -= 3;
let mut c = 5;
c *= 3;
let mut d = 10;
d /= 2;
let mut e = 10;
e %= 3;
// 输出运算符的结果
println!("算术运算符:sum = {}, difference = {}, product = {}, quotient = {}, remainder = {}", sum, difference, product, quotient, remainder);
println!("逻辑运算符:and_result = {}, or_result = {}, not_result = {}", and_result, or_result, not_result);
println!("比较运算符:equal = {}, not_equal = {}, greater_than = {}, less_than = {}, greater_than_or_equal = {}, less_than_or_equal = {}", equal, not_equal, greater_than, less_than, greater_than_or_equal, less_than_or_equal);
println!("位运算符:bitwise_and = {}, bitwise_or = {}, bitwise_xor = {}, bitwise_not = {}, left_shift = {}, right_shift = {}", bitwise_and, bitwise_or, bitwise_xor, bitwise_not, left_shift, right_shift);
println!("赋值运算符:a = {}, b = {}, c = {}, d = {}, e = {}", a, b, c, d, e);
// 表达式的使用
// 字面量表达式
let x = 42;
// 变量表达式
let y = x;
// 运算符表达式
let sum = x + y;
// 函数调用表达式
let product = multiply(x, y);
// 条件表达式
let is_positive = if sum > 0 { true } else { false };
// 块表达式
let z = {
let temp = 10;
temp + 2
};
// 循环表达式
let mut counter = 0;
let result = loop {
counter += 1;
if counter == 10 {
break counter * 2;
}
};
// 输出表达式的结果
println!("字面量表达式:x = {}", x);
println!("变量表达式:y = {}", y);
println!("运算符表达式:sum = {}", sum);
println!("函数调用表达式:product = {}", product);
println!("条件表达式:is_positive = {}", is_positive);
println!("块表达式:z = {}", z);
println!("循环表达式:result = {}", result);
}
// 定义一个简单的函数
fn multiply(a: i32, b: i32) -> i32 {
a * b
}
运行结果
整数字面量:decimal = 42, hex = 42, octal = 42, binary = 42, large_number = 1000000
浮点数字面量:float = 3.14, scientific = 12300, f32_value = 4.56, f64_value = 7.89
字符字面量:letter = a, chinese_char = 中, newline = '\n', unicode_escape = 中
字符串字面量:greeting = Hello, world!, multiline_string = This is a
multiline string.
原始字符串:raw_string = C:\Users\Alice\Documents
布尔字面量:is_active = true, is_disabled = false
字节数组字面量:bytes = [72, 101, 108, 108, 111]
算术运算符:sum = 3, difference = 2, product = 12, quotient = 5, remainder = 1
逻辑运算符:and_result = false, or_result = true, not_result = false
比较运算符:equal = false, not_equal = true, greater_than = true, less_than = true, greater_than_or_equal = true, less_than_or_equal = true
位运算符:bitwise_and = 1, bitwise_or = 7, bitwise_xor = 6, bitwise_not = -6, left_shift = 10, right_shift = 2
赋值运算符:a = 8, b = 2, c = 15, d = 5, e = 1
字面量表达式:x = 42
变量表达式:y = 42
运算符表达式:sum = 84
函数调用表达式:product = 1764
条件表达式:is_positive = true
块表达式:z = 12
循环表达式:result = 20
进程已结束,退出代码为 0
示例代码说明
-
字面量的使用:
- 展示了各种类型的字面量(整数、浮点数、字符、字符串、布尔值、字节数组)的定义和输出。
- 包括不同进制的整数字面量(十进制、十六进制、八进制、二进制)和字符串的转义字符。
-
运算符的使用:
- 展示了算术运算符、逻辑运算符、比较运算符、位运算符和赋值运算符的用法。
- 每个运算符的结果都被打印出来,便于观察。
-
表达式的使用:
- 展示了字面量表达式、变量表达式、运算符表达式、函数调用表达式、条件表达式、块表达式和循环表达式的用法。
- 每个表达式的结果都被打印出来,展示了表达式的多样性和灵活性。
通过这个示例代码,可以全面了解 Rust 中字面量、运算符和表达式的用法。