运算符
Go语言中常见的运算符有算术运算符, 赋值运算符, 关系运算符, 逻辑运算符等.
算术运算符
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| + | 相加 | 10 + 3 | 13 |
| - | 相减 | 10 - 3 | 7 |
| * | 相乘 | 10 * 3 | 30 |
| / | 相除 | 10 / 3 | 3 |
| % | 取余 | 10 % 3 | 1 |
注意:
- 自增(
++)和自减(--)在Go语言中是单独的语句, 并不是运算符, 也不是表达式. - 不允许不同类型进行相加。
赋值运算符
| 运算符 | 描述 | 示例 |
|---|---|---|
| = | 普通赋值, 将一个表达式的值赋值给一个坐值 | 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 |
关系运算符
关系运算符的结果是布尔类型的, 其值只有两个: true, false.
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| == | 相等于 | 4 == 3 | false |
| != | 不等于 | 4 != 3 | true |
| > | 大于 | 4 > 3 | true |
| < | 小于 | 4 < 3 | false |
| >= | 大于等于 | 4 >= 3 | true |
| <= | 小于等于 | 4 <= 3 | false |
逻辑运算符
| 运算符 | 描述 | 示例 | 结果 |
|---|---|---|---|
| && | 逻辑与, 两边都为真, 则结果为真; 其余为假 | true && true | true |
| || | 逻辑或, 两边都为假, 则结果为假; 其余为真 | true || false | true |
| ! | 逻辑非, 条件为真, 则结果为假; 条件为假, 则结果为真 | !true | false |
运算符优先级
在Go语言中, 一元运算符(只需要一个操作数的运算符称为一元运算符, 也称为单目运算符)拥有最高的优先级. 二元运算符的运算方向均是从左至右.
下标列出了所有运算符以及它们的优先级, 由上至下代表优先级由高到低.
| 优先级 | 运算符 |
|---|---|
| 7 | ^ ! |
| 6 | * / % << >> && ^ |
| 5 | + - | ^ |
| 4 | == != < <= > >= |
| 3 | <- |
| 2 | && |
| 1 | || |
李培冠博客:lpgit.com