Go语言入门03——运算符
本文最后更新于 2024年10月15日 下午
算术运算符
假设a为3,b为2
| 运算符 | 描述 | 示例 |
|---|---|---|
| + | 加法运算符 | a + b = 5 |
| - | 减法运算符 | a - b = 1 |
| * | 乘法运算符 | a * b = 6 |
| / | 除法运算符 | a / b = 1 |
| % | 取余运算符 | a % b = 1 |
| ++ | 自增运算符 | a++ = 4 |
| – | 自减运算符 | b– = 1 |
代码示例:
1 | |
运行结果:
关系运算符
假设a为3,b为2
| 运算符 | 描述 | 示例 |
|---|---|---|
| == | 判断两个值是否相等,如果相等返回true,否则返回false | a == b 为 false |
| != | 判断两个值是否不相等,如果不相等返回true 否则返回false | a != b 为 true |
| > | 判断左边值是否大于右边值,如果是返回true 否则返回false | a > b 为 true |
| < | 判断左边值是否小于右边值,如果是返回true 否则返回false | a < b 为 false |
| >= | 判断左边值是否大于等于右边值,如果是返回true 否则返回false | a >= b 为 true |
| <= | 判断左边值是否小于等于右边值,如果是返回true 否则返回false。 | a <= b 为 false |
代码示例:
1 | |
运行结果:
逻辑运算符
假设a为true,b为false
| 运算符 | 描述 | 实例 |
|---|---|---|
| && | 逻辑与运算符,如果两边都为true,则为true,否则为false | a && b 为 false |
| ! | 逻辑非运算符,如果为true,返回false,如果为false,返回true | !a 为 false, !b 为true |
代码示例:
1 | |
运行结果:
注意:逻辑运算符通常用于在if条件中做判断使用,并且逻辑运算符可以与关系运算符结合使用,例如 a > b && b > c,当a 大于 b,并且b 大于 c 时则为true,否则为false。
位运算符
位运算符是对整数的二进制进行计算
假设a为3,b为2
则a转为二进制为:0011,b的二进制为:0010
1 | |
| 运算符 | 描述 | 实例 |
|---|---|---|
| & | 按位与运算符,将两边的整数作为二进制进行按位与运算,两位都为1则为1 | a & b = 2,二进制为0010 |
| 按位或运算符,将两边的整数作为二进制进行按位或运算,两位其中一个为1,则为1 | ||
| ^ | 异或运算符,将两边的整数作为二进制进行按位或运算,两位不相同则为1 | a ^ b = 1,二进制为0001 |
| << | 左移运算符,将左边的数转为二进制后向左位移右边指定的位数,左移n位就是乘以2的n次方 | a << 2 结果为12 ,二进制为 1100 |
| >> | 右移运算符,将左边的数转为二进制后向右位移右边指定的位数,右移n位就是除以2的n次方 | a >> 2 结果为0 ,二进制为 0000 |
示例代码:
1 | |
运行结果:
赋值运算符
| 运算符 | 描述 | 实例 |
|---|---|---|
| = | 赋值运算符,将右边表达式的值赋值给左边变量 | c = a + b => 表达式 a + b的结果赋值给变量c |
| += | 相加后再赋值 | a += b => a = a + b |
| -= | 相减后再赋值 | a -= b => a = a - b |
| *= | 相乘后再赋值 | a _= b => a = a _ b |
| /= | 相除后再赋值 | a /= b => a = a / b |
| %= | 求余后再赋值 | a %= b => a = a % b |
| <<= | 左移后赋值 | a <<= 2 => a = a << 2 |
| >>= | 右移后赋值 | a >>= 2 => a = a >> 2 |
| &= | 按位与后赋值 | a &= 2 => a = a & 2 |
| ^= | 按位异或后赋值 | a ^= 2 => a = a ^ 2 |
| = | 按位或后赋值 |
代码示例:
1 | |
运行结果:
运算符优先级
由上到下代表优先级从高到低,相同优先级的运算符在计算的过程中按照从左往右依次计算,同时还可以临时使用小括号提高优先级。
| 优先级 | 运算符 |
|---|---|
| 5 | * / % << >> & &^ |
| 4 | + - |
| 3 | == != < <= > >= |
| 2 | && |
| 1 |
代码示例:
1 | |
运行结果:
Go语言入门03——运算符
http://example.com/p/def899cd.html