Rust 运算符和表达式
最后修改于 2025 年 2 月 19 日
在本文中,我们将展示如何在 Rust 中使用运算符和表达式。
表达式由操作数和运算符组成。运算符指定要对操作数执行的操作。表达式中运算符的评估顺序由它们的优先级和结合性决定。
运算符是代表特定操作的符号。在编程语言中,运算符源自数学概念。程序员处理数据,运算符用于操作这些数据。操作数是运算符作用于的输入(或参数)。
一元运算符
一元运算符作用于单个操作数。以下是 Rust 中的一元运算符:
(-)否定(用于否定数字)(!)逻辑非(用于反转布尔值)(*)解引用(用于访问指针指向的值)(&)借用(用于获取值的引用)(&mut)可变借用(用于获取值的一个可变引用)
main
fn main() {
println!("{}", 2);
println!("{}", -2);
let a = 1;
println!("{}", -a);
println!("{}", -(-a));
let is_married = false;
println!("{}", !is_married);
}
该示例展示了一元减号和逻辑非运算符。
算术运算符
算术运算符用于对数字执行数学运算。
main.rs
fn main() {
let a = 10;
let b = 20;
println!("Addition: {}", a + b);
println!("Subtraction: {}", a - b);
println!("Multiplication: {}", a * b);
println!("Division: {}", a / b);
println!("Modulo: {}", a % b);
}
程序定义了两个整数变量。算术运算符应用于这些变量。
println!("Addition: {}", a + b);
加法运算符。
println!("Subtraction: {}", a - b);
减法运算符。
println!("Multiplication: {}", a * b);
乘法运算符。
println!("Division: {}", a / b);
除法运算符。
println!("Modulo: {}", a % b);
模运算符。
$ cargo run -q Addition: 30 Subtraction: -10 Multiplication: 200 Division: 0 Modulo: 10
比较运算符
比较运算符用于比较两个值。它们返回一个布尔值。
以下示例演示了 Rust 中的比较运算符。
main.rs
fn main() {
let a = 10;
let b = 20;
println!("Equal: {}", a == b);
println!("Not equal: {}", a != b);
println!("Greater: {}", a > b);
println!("Less: {}", a < b);
println!("Greater or equal: {}", a >= b);
println!("Less or equal: {}", a <= b);
}
程序定义了两个整数变量。比较运算符应用于这些变量。
println!("Equal: {}", a == b);
相等运算符。
println!("Not equal: {}", a != b);
不等运算符。
println!("Greater: {}", a > b);
大于运算符。
println!("Less: {}", a < b);
小于运算符。
println!("Greater or equal: {}", a >= b);
大于或等于运算符。
println!("Less or equal: {}", a <= b);
小于或等于运算符在第六行中使用。
$ cargo run -q Equal: false Not equal: true Greater: false Less: true Greater or equal: false Less or equal: true
逻辑运算符
逻辑运算符用于组合布尔值。
以下示例演示了 Rust 中的逻辑运算符。
main.rs
fn main() {
let a = true;
let b = false;
println!("And: {}", a && b);
println!("Or: {}", a || b);
println!("Not: {}", !a);
}
程序定义了两个布尔变量。逻辑运算符应用于这些变量。
println!("And: {}", a && b);
逻辑与运算符。
println!("Or: {}", a || b);
逻辑或运算符。
println!("Not: {}", !a);
逻辑非运算符。
$ cargo run -q And: false Or: true Not: false
复合赋值运算符
复合赋值运算符用于执行算术和赋值运算。
以下示例演示了 Rust 中的复合赋值运算符。
main.rs
fn main() {
let mut a = 10;
a += 5;
println!("Addition: {}", a);
a -= 5;
println!("Subtraction: {}", a);
a *= 5;
println!("Multiplication: {}", a);
a /= 5;
println!("Division: {}", a);
a %= 5;
println!("Modulo: {}", a);
}
程序定义了一个可变的整数变量。复合赋值运算符应用于该变量。
a += 5;
加法复合赋值运算符。
a -= 5;
减法复合赋值运算符。
a *= 5;
乘法复合赋值运算符。
a /= 5;
除法复合赋值运算符。
a %= 5;
模复合赋值运算符。
$ cargo run -q Addition: 15 Subtraction: 10 Multiplication: 50 Division: 10 Modulo: 0
表达式
表达式是由值、变量和运算符组成的,用于计算一个值。
以下示例演示了 Rust 中的表达式。
main.rs
fn main() {
let x = 10;
let y = 20;
let result = if x < y { x } else { y };
println!("Result: {}", result);
}
程序定义了两个整数变量。使用 if 表达式来评估这些变量。
let result = if x < y { x } else { y };
if 表达式评估条件并返回变量 x 或 y 的值。
$ cargo run -q Result: 10
作者
列出 所有 Rust 教程。