Go 变量
Go 条件语句 

Go 运算符

在 Go 语言(Golang)中,运算符用于执行各种计算和逻辑操作。Go 支持以下几类运算符:


算术运算符

用于执行数学计算,如加减乘除等:

运算符说明示例(a=10, b=4)
+加法a + b 结果 14
-减法a - b 结果 6
*乘法a * b 结果 40
/除法a / b 结果 3(整除)
%取余a % b 结果 2

注意:

"/" 进行整数除法时,结果也是整数,如 10 / 3 结果是 3 而不是 3.3333。

想要得到浮点数,需转换类型:float64(a) / float64(b)。


关系运算符(比较运算符)

用于比较两个值,返回 true 或 false:

运算符说明示例(a=10, b=4)
==是否相等a == b 结果 false
!=是否不相等a != b 结果 true
>大于a > b 结果 true
<小于a < b 结果 false
>=大于或等于
a >= b 结果 true
<=小于或等于a <= b 结果 false


逻辑运算符

用于布尔逻辑操作:

运算符说明示例(a=true, b=false)
&&逻辑与(AND)a && b 结果 false
||逻辑或(OR)a || b 结果 true
!逻辑非(NOT)!a 结果 false


位运算符

用于二进制位操作:

运算符说明示例(a=5(101), b=3(011))
&按位与(AND)a & b 结果 1(101& 011 = 001)
|按位或(OR)

a | b 结果 7(101 & 011 = 111)

^按位异或(XOR)a ^ b 结果 6(101 ^ 011 = 110)
<< 左移(左移 n 位,相当于乘以 2^n)a << 3 结果 40(即5*2^3 = 40)
>>右移(左移 n 位,相当于乘以 2^n)a >> 1 结果 2(即5/2^1 = 2)
&^按位清除(AND NOT)a &^ b 结果 4 (101 &^ 011 = 100)


赋值运算符

用于给变量赋值:

运算符说明使用示例 (a = 10)
=直接赋值a = 10
+=加法赋值a -= 2(a = a - 2)
-=减法赋值a *= 4(a = a * 4)
*=乘法赋值a *= 4(a = a * 4)
/=除法赋值a /= 2(a = a / 2)
%=取余赋值a %= 3(a = a % 3)
&=按位与赋值a &= 2(a = a & 2)
|=按位或赋值a |= 2(a = a | 2)
^=按位异或赋值a ^= 5(a = a ^ 5)
<<=左移赋值a <<= 1(a = a << 1)
>>=右移赋值a >>= 1(a = a >> 1)



其他运算符

运算符说明示例
&取地址运算符&a 取变量 a 的地址
*指针解引用*p 取指针 p 指向的值
:=短变量声明a := 10

特别注意事项:

1. Go 语言中运算符的优先级是固定的,可以使用括号 `()` 来改变运算顺序;

2. 位运算符通常用于底层编程和性能优化;

3. 在进行除法运算时要注意除数不能为 0;

4. 使用自增自减运算符时要注意它们只能作为语句使用,不能用在表达式中;

5. Go 不支持三元运算符 `?:`;

6. 自增(++)和自减(--)是语句而不是表达式,只能单独使用

7. 在除法运算中,如果两个操作数都是整数,结果也是整数

8. Go 支持指针运算符:

   - `&` 取地址运算符

   - `*` 指针解引用运算符