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 | ||(或) |
当指定的至少一个表达式返回true时,该运算符返回true | (A > 10 || B >10) 为真 |
3 | ! (非) | 该运算符返回表达式结果的相反值。例如:!(A >10 ) 为真 | !(A >10 ) 为真 |
位运算符
假设变量A = 2,变量B = 3。
展示示例
序号 | 运算符 | 描述 | 示例 |
---|---|---|---|
1 | & (按位与) | 对其整数参数的每个位执行布尔与操作。 | (A & B) 等于 2 |
2 | | (按位或) |
对其整数参数的每个位执行布尔或操作。 | (A | B) 等于 3 |
3 | ^ (按位异或) | 对其整数参数的每个位执行布尔排外或操作。排外或表示只有操作数一是true或操作数二是true,但不能同时成立。 | (A ^ B) 等于 1 |
4 | ! (按位非) | 它是一元操作符,通过颠倒操作数中的所有位来运行。 | (!B) 等于 -4 |
5 | << (左移) |
它将第一个操作数中的所有位向左移动指定的位数。新的位用零填充。将一个值左移一位等同于乘以2,将两个位置向左移等同于乘以4,依此类推。 | (A << 1) 等于 4 |
6 | >> (右移) |
二进制右移操作符。将左操作数的值向右移动右操作数指定的位数。 | (A >> 1) 等于 1 |
7 | >>> (带零右移) |
该运算符与>>运算符类似,只是向左移动的位始终为零。 | (A >>> 1) 等于 1 |