1.一元运算符
运算符 | 名称 | 描述 |
+a | 求正 | a 的值本身。 |
-a | 求负 | a 的负值。 |
a++ | 后递增 | 返回 a ,然后将 a 的值加 1。注意:不支持前递增语法。 |
a-- | 后递减 | 返回 a ,然后将 a 的值减 1。注意:不支持前递减语法。 |
2.算术运算符
运算符 | 名称 |
a + b | 加法,字符串连接。 |
a - b | 减法 |
a * b | 乘法 |
a / b | 除法 |
a % b | 求余 |
3.赋值运算符
运算符 | 名称 |
---|---|
a = b | 赋值 |
a := b | 赋值(类型推导) |
a += b | 加法赋值,字符串连接赋值。 |
a -= b | 减法赋值 |
a *= b | 乘法赋值 |
a /= b | 除法赋值 |
a %= b | 求余赋值 |
a &= b | 按位与赋值 |
a |= b | 按位或赋值 |
a ^= b | 按位异或赋值 |
a &^= b | 按位清除赋值 |
a <<= b | 左移位赋值 |
a >>= b | 右移位赋值 |
4.相等性运算符
运算符 | 名称 | 描述 |
a == b | 相等 | 不进行强制类型转换,再比较 a 和 b 的类型和值。如果类型和值全相等,则返回 true ,否则返回 false 。 |
a != b | 不相等 | 与 == 相反。 |
5.关系比较运算符
运算符 | 名称 | 描述 |
---|---|---|
a < b | 小于 | 不进行强制类型转换,再比较 a 和 b 的值。如果 a 小于 b ,则返回 true ,否则返回 false 。 |
a <= b | 小于或等于 | 不进行强制类型转换,再比较 a 和 b 的值。如果 a 小于或等于 b ,则返回 true ,否则返回 false 。 |
a > b | 大于 | 不进行强制类型转换,再比较 a 和 b 的值。如果 a 大于 b ,则返回 true ,否则返回 false 。 |
a >= b | 大于或等于 | 不进行强制类型转换,再比较 a 和 b 的值。如果 a 大于或等于 b ,则返回 true ,否则返回 false 。 |
6.布尔逻辑运算符
运算符 | 名称 | 描述 |
---|---|---|
!a | 逻辑非(NOT) | 如果 a 的计算结果为 false ,则返回 true ,否则返回 false 。 |
a && b | 逻辑与(AND) | 如果 a 的计算结果为 false ,则不计算 b 并返回 a 的返回值。如果 a 的计算结果为 true ,则继续计算 b 并返回 b 的返回值。 |
a || b | 逻辑或(OR) | 如果 a 的计算结果为 true ,则不计算 b 并返回 a 的返回值。如果 a 的计算结果为 false ,则继续计算 b 并返回 b 的返回值。 |
7.位运算符
运算符 | 名称 |
---|---|
^a | 按位非 NOT |
a & b | 按位与 AND |
a | b | 按位或 OR |
a ^ b | 按位异或 XOR |
a &^ b | 按位清除 AND NOT |
a << b | 左移位 |
a >> b | 右移位 |
8.分组运算符
运算符 | 描述 |
() | 分组作用 |
9.地址(Address)运算符
运算符 | 描述 |
&a | 对于类型为 T 的操作数 a ,&a 返回一个指向 a 的类型为 *T 的值。 |
*p | 与 & 运算符相反。 |
原创文章,作者:huoxiaoqiang,如若转载,请注明出处:https://www.huoxiaoqiang.com/go/golang/36907.html