03Golang运算符|Go主题月

107 阅读2分钟

运算符

算术运算符

运算符术语示例结果
+10 + 515
-10 - 55
*10 * 550
/10 / 52
%取模(取余)10 % 31
++后自增,没有前自增a=0; a++a=1
--后自减,没有前自减a=2; a--a=1

关系运算符

关系运算的结果是布尔类型的。
bool值只有两个
真:true
假:false

运算符术语示例结果
==相等于4 == 3false
!=不等于4 != 3true
<小于4 < 3false
大于4 > 3true
<=小于等于4 <= 3false
>=大于等于4 >= 1true

逻辑运算符

运算符术语示例结果
!!a"如果a为假,则!a为真;如果a为真,则!a为假。"
&&a && b如果a和b都为真,则结果为真,否则为假。
||a || b如果a和b有一个为真,则结果为真,二者都为假时,结果为假。

赋值运算符

常见的赋值运算符如下,=是普通赋值,+=-=等我们称为“复合赋值运算符”

运算符说明示例
=普通赋值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

其他运算符

运算符术语示例说明
&取地址运算符&a变量a的地址
*取值运算符*a指针变量a所指向内存的值

运算符优先级

在Go语言中,一元运算符拥有最高的优先级,二元运算符的运算方向均是从左至右。

下表列出了所有运算符以及它们的优先级,由上至下代表优先级由高到低:

优先级运算符
7^   !
6*   /   %   <<  >> &&  ^
5+   -   |   ^
4==   !=   <  <=   >=   >
3<-
2&&
1||