我正在参加「掘金·启航计划」
1、运算符
Go 语言内置的运算符有:
- 算术运算符
- 关系运算符
- 逻辑运算符
- 位运算符
- 赋值运算符
1.1、算术运算符
| 运算符 | 描述 |
|---|---|
| + | 相加 |
| - | 相减 |
| * | 相乘 |
| / | 相除 |
| % | 求余 |
1.2、关系运算符
| 运算符 | 描述 |
|---|---|
| == | 检查两个值是否相等,如果相等返回True否则返回False |
| != | 检查两个值是否不相等,如果不相等返回True否则返回False |
| 比较两个值大小,如果左边大于右边返回True否则返回False | |
| < | 比较两个值大小,如果左边小于右边返回True否则返回False |
| >= | 比较两个值大小,如果左边大于等于右边返回True否则返回False |
| <= | 比较两个值大小,如果左边小于等于右边返回True否则返回False |
1.3、逻辑运算符
| 运算符 | 描述 | ||
|---|---|---|---|
| && | 逻辑与运算符,如果两边都为True,则返回True,否则返回False | ||
| 逻辑或运算符,如果两边有一个True,则返回True,否则返回False | |||
| ! | 逻辑非运算符,如果条件为True则返回False,否则返回True |
1.4、位运算符
位运算符对整数在内存中的二进制位进行操作
| 运算符 | 描述 | |
|---|---|---|
| & | 参与运算的两数各对应的二进位相与。(两位均为1才为1) | |
| 参与运算的两数各对应的二进位相或。(两位有一个为1才为1) | ||
| 参与运算的两数各对应的二进制位相异或,当两位对应的二进位相异时,结果为1。(两位不一样则为1) | ||
| << | 左移n位就是乘以2的n次方。a<<b就是把a的各二进位全部左移b位,高位丢弃,低位补0 | |
| >> | 右移n位就是除以2的n次方。a>>b就是把a的各二进位全部左移b位。 |
1.5、赋值运算符
| 运算符 | 描述 |
|---|---|
| = | 赋值运算符 |
| += | 相加后再赋值 |
| -= | 相减后再赋值 |
| *= | 相乘后再赋值 |
| /= | 相除后再赋值 |
| %= | 求余后再赋值 |
| <<= | 左移后再赋值 |
| >>= | 右移后再赋值 |
| &= | 按位与后再赋值 |
| l= | 按位或后再赋值 |
| ^= | 按位异或后再赋值 |