Go语言运算符

Go语言运算符优先级,是描述在计算机运算计算表达式时执行运算的先后顺序。 先执行具有较高优先级的运算,然后执行较低优先级的运算。 例如,我们常说的先执行相乘和除,再执行加减运算。

Go 语言内置的运算符
  1. 算术运算符

  2. 关系运算符

  3. 逻辑运算符

  4. 位运算符

  5. 赋值运算符

  6. 其他运算符

下面我们来对应Go语言各个运算符,算术、关系、逻辑、按位、赋值和其他运算符的详细讲解。

一、Go语言 算术运算符

A10B20
+-*/%++--

二、Go语言 关系运算符

A10B20
==!=><>=<=

三、Go语言 逻辑运算符

A1B0
&&AND||OR!

四、Go语言 位运算符

&|^
pqp&qp|qp^q
00000
01011
11110
10011
A = 60B = 13
A = 0011 1100

B = 0000 1101

-----------------

A&B = 0000 1100

A|B = 0011 1101

A^B = 0011 0001

~A  = 1100 0011
A=60B=13
ANDA&B120000 1100OR0011 1101XOR490011 0001A<<22401111 0000A>>20000 1111

五、Go语言 赋值运算符

Go语言支持以下赋值运算符:

C=A+BA+BC+=C+=AC=C+AC-=AC=C-AC*=AC=C*AC/=AC=C/AC%=AC=C%AC<<=2C=C<<2C>>=2C=C>>2C&=2C=C&2C^=2C=C^2OR

六、Go语言 其他运算符

sizeof? :
&aa*aa

Go语言中的运算符优先级

运算符优先级确定表达式中的分组。这会影响表达式的计算方式。某些运算符比其他运算符具有更高的优先级; 例如,乘法运算符比加法运算符有更高的优先级。

当同级别的运算符出现在同一个表达式中,从左到右的顺序计算,比如乘除一起,不管是乘在前面还是除在前面都是从左到右计算乘、除运算符。加减亦是如此。

x = 7 + 3 * 2x1320*+3 * 27

这里,具有最高优先级的运算符放在表的顶部,具有最低优先级的运算符出现在底部。 在表达式中,将首先计算较高优先级运算符。

分类描述关联性
后缀()[]->.++ --左到右
一元+ -!~++ --(type)*&sizeof右到左
乘法*/ %左到右
加法+ -左到右
移位<<>>左到右
关系<<=>>=左到右
相等==!=左到右
按位AND&左到右
按位XOR^左到右
按位OR|左到右
逻辑AND&&左到右
逻辑OR||左到右
条件?:右到左
分配=+=-=*=/= %=>>= <<= &= ^= |=右到左
逗号,左到右