算术运算符
+-*/
a++
b--
% // 求余数
++ — 在go语言中是语句而不是表达式,表达式可以放在语句右边,语句不能。
关系运算符
==
!=
> >=
< <=
逻辑运算符
&& # 与
|| # 或
! # 非
按位运算符
& # 按位与
| # 按位或
^ # 按位异或:对应为不同数值时,结果为1
<< # 左移,数学上相当于乘以2
>> # 右移,数学上相当于除以2
&^
按位置零,右边为 1 则本位置零,否则原样输出。
a &^ b 是 a&(^b)的简写
1 &^ 0 -- 1
1 &^ 1 -- 0
0 &^ 1 -- 0
0 &^ 0 -- 0
赋值运算符
= 直接赋值优先级最低
+= 相加后结果再赋值
-= 相减后结果再赋值
*+= 相乘后结果再赋值
/= 相除后结果再赋值
%= 取余后结果再赋值
<<= 左移后结果再赋值
>>= 右移后结果再赋值
&= 按位与后结果再赋值
^= 按位异或后结果再赋值
!= 按位或后结果再赋值
其他运算符
& 取地址运算符,针对变量
* 取值运算符,针对指针
优先级 算数>关系>逻辑>赋值
// 括号,结构体成员".",数组下标
// 单目运算符
// 逻辑运算符,逻辑非,取值,取地址,自增自减
// 双目运算符
乘除 * / %
加减 + -
关系 == != > <
逻辑 && ||
赋值 == += -=