Go运算符

1. 算数运算符

如: + - * / ...

2. 关系运算符

== != > < >= <=

3. 逻辑运算符

运算符 含义
&& 与运算。如果两个操作数都⾮零,则条件变为真
|| 或运算。如果任何两个操作数是⾮零,则条件变为真
! ⾮运算。使⽤反转操作数的逻辑状态。如果条件为真,那么逻辑⾮操后结果为假

4. 位运算符

位运算符对整数在内存中的⼆进制位进⾏操作。

运算符 描述 实例
& 按位与运算符 "&" 是双⽬运算符。 其功能是参与运算的两数各对应的⼆进位相与 (A & B) 结 果为 12, ⼆ 进制为
0000 1100
| 按位或运算符 "|"是双⽬运算符。 其功能是参与运算的两 数各对应的⼆进位相或 (A | B)结果为61,二进制为
0011 1101
^ 按位异或运算符 "^" 是双⽬运算符。 其功能是参与运算的 两数各对应的⼆进位相异或,当两对应的⼆进位相异时,结果为 1。 (A ^ B) 结 果为 49, ⼆ 进制为
0011 0001
<< 左移运算符 "<<“是双⽬运算符。左移 n 位就是乘以 2 的 n 次⽅。 其功能把”<<“左边的运算数的各⼆进位全部左移若 ⼲位,由”<<" 右边的数指定移动的位数,⾼位丢弃,低位补 0。 A << 2 结 果为 240 ,⼆进制为
1111 0000
>> 右移运算符 ">>" 是双⽬运算符。右移 n 位就是除以 2 的 n 次⽅。其功能是把 ">>“左边的运算 数的各⼆进位全部右移若⼲ 位,”>>" 右边的数指定移动的位数。 A >> 2 结果为 15 ,⼆进制为
0000 1111

5. 赋值运算符

运算符 描述 实例
= 简单的赋值运算符,将⼀个表达式的值赋给⼀个左值 C = A + B 将 A + B 表达式结果赋值给 C
+= 相加后再赋值 C += A 等于 C = C + A
-= 相减后再赋值 C -= A 等于 C = C - A
*= 相乘后再赋值 C *= A 等于 C = C * A
/= 相除后再赋值 C /= A 等于 C = C / A
%= 求余后再赋值 C %= A 等于 C = C % A
<<= 左移后赋值 C <<= 2 等于 C = C << 2
>>= 右移后赋值 C >>= 2 等于 C = C >> 2
&= 按位与后赋值 C &= 2 等于 C = C & 2
^= 按位异或后赋值 C ^= 2 等于 C = C ^ 2
|= 按位或后赋值 C | = 2 等于 C = C | 2

6. 转义符

符号 意义 ASCII码值
\n 换⾏ (LF) ,将当前位置移到下⼀⾏开头 010
\r 回⻋ (CR) ,将当前位置移到本⾏开头 013
\t ⽔平制表 (HT) (跳到下⼀个 TAB 位置) 009
\\ 代表⼀个反斜线字符’\’ 092
\’ 代表⼀个单引号(撇号)字符 039
\" 代表⼀个双引号字符 034
\? 代表⼀个问号 063

7. 其他运算符

运算符 描述 实例
& 返回变量存储地址 &a; 将给出变量的实际地址。
* 指针变量 *a; 是⼀个指针变量

8. 运算符优先级

有些运算符拥有较⾼的优先级,⼆元运算符的运算⽅向均是从左⾄右。下表列出了所有运算符以及它们的优先级,由上⾄下代表优先级由⾼到低

优先级 分类 运算符 结合性
1 逗号运算符 , 从左到右
2 赋值运算符 =、+=、-=、*=、/=、 %=、 >=、 <<=、&=、^=、= 从右到左
3 逻辑或 || 从左到右
4 逻辑与 && 从左到右
5 按位或 | 从左到右
6 按位异或 ^ 从左到右
7 按位与 & 从左到右
8 相等 / 不等 ==、!= 从左到右
9 关系运算符 <、<=、>、>= 从左到右
10 位移运算符 <<、>> 从左到右
11 加法 / 减法 +、- 从左到右
12 乘法 / 除法 / 取余 *(乘号)、/、% 从左到右
13 单⽬运算符 !、*(指针)、& 、++、–、+(正号)、-(负号) 从右到左
14 后缀运算符 ()、[]、-> 从左到右
posted @ 2023-03-09 13:08  ForLivetoLearn  阅读(17)  评论(0编辑  收藏  举报