Rust运算符


运算符是将对数据执行的操作,被操作的数据称为操作数。考虑以下表达式:

7 + 5 = 12

此处,7、5和12是操作数,而+和=是运算符。

Rust的主要运算符可以归类为:

  • 算术运算符

  • 按位运算符

  • 比较运算符

  • 逻辑运算符

  • 条件运算符

算术运算符


假设变量a和b中的值分别为10和5。

序号运算符描述例子
1+(加法)返回操作数之和a + b 结果是 15
2-(减法)返回值的差a-b 结果是 5
3*(乘法)返回值的乘积a * b 结果是 50
4/ (分配)执行除法运算并返回商a / b 结果是 2
5%(模)执行除法运算并返回余数a%b 结果是 0

注意:Rust不支持++和--运算符。

关系运算符


关系运算符测试或定义两个实体之间的关系类型。关系运算符用于比较两个或多个值。关系运算符返回布尔值:true或false。

假设A的值为10,B的值为20。

例子运算符描述例子
1>大鱼(A> B)为假
2<小于(A <B)为真
3>=大于或等于(A> = B)为假
4<=小于或等于(A <= B)为真
5==等于(A == B)为假
6!=不相等(A!= B)为真

逻辑运算符


逻辑运算符用于组合两个或多个条件。逻辑运算符也返回布尔值。假设变量A的值为10,变量B的值为20。

序号运算符描述例子
1&& (和)仅当指定的所有表达式均返回true时,运算符才返回true(A> 10 && B> 10)为假
2||(OR)如果指定的至少一个表达式返回true,则运算符返回true(A> 10 || B> 10)为真
3! (NOT)运算符返回表达式结果的倒数。例如!(> 5)返回false!(A> 10)为真

按位运算符


假设变量A = 2,B = 3。

序号运算符描述例子
1&(按位与)它对其整数参数的每一位执行布尔“与”运算。(A&B)结果是2
2| (BitWise或)它对其整数参数的每一位执行布尔或运算。(A | B)结果是3
3^(按位XOR)它对其整数参数的每一位执行布尔异或运算。异或表示一个操作数为true或两个操作数为true,但不是两个都为真。(A ^ B)结果是1
4! (按位不)它是一元运算符,通过反转操作数中的所有位进行操作。(!B)结果是-4
5<<(左移)它将第一个操作数中的所有位向左移动第二个操作数中指定的位数。新位填充零。将值左移一个位置等同于将其乘以2,将两个位置左移等同于乘以4,依此类推。(A << 1)结果是4
6>>(右移)二进制右移运算符。左操作数的值向右移动右操作数指定的位数。(A >> 1)结果是1
7>>>(右移零)该运算符类似于>>运算符,只是向左移位的位始终为零。(A >>> 1)结果是1