Go 运算符
Go 运算符
运算符用于对变量和值执行操作。
+ 运算符将两个值相加,如下例所示:
实例
package main
import ("fmt")
func main() {
var a = 15 + 25
fmt.Println(a)
}
尽管 + 运算符通常用于将两个值相加,但它也可以用于将一个变量和一个值或一个变量和另一个变量相加:
实例
package main
import ("fmt")
func main() {
var (
sum1 = 100 + 50 // 150 (100 + 50)
sum2 = sum1 + 250 // 400 (150 + 250)
sum3 = sum2 + sum2 // 800 (400 + 400)
)
fmt.Println(sum3)
}
Go 将运算符分为以下几类:
- 算术运算符
- 赋值运算符
- 比较运算符
- 逻辑运算符
- 位运算符
算术运算符
算术运算符用于执行常见的数学运算。
| 运算符 | 名称 | 描述 | 例子 | 试一试 |
|---|---|---|---|---|
| + | 加法 | 将两个值相加。 | x + y | 试一试 |
| - | 减法 | 从一个值中减去另一个值。 | x - y | 试一试 |
| * | 乘法 | 将两个值相乘。 | x * y | 试一试 |
| / | 除法 | 用一个值除以另一个值。 | x / y | 试一试 |
| % | 取模 | 返回除法余数。 | x % y | 试一试 |
| ++ | 递增 | 将变量的值加 1。 | x++ | 试一试 |
| -- | 递减 | 将变量的值减 1。 | x-- | 试一试 |
赋值运算符
赋值运算符用于给变量赋值。
在下面的例子中,我们使用赋值运算符 (=) 将值 10 赋给名为 x 的变量:
实例
package main
import ("fmt")
func main() {
var x = 10
fmt.Println(x)
}
加法赋值运算符 (+=) 将值添加到变量:
实例
package main
import ("fmt")
func main() {
var x = 10
x +=5
fmt.Println(x)
}
所有赋值运算符的列表:
| 运算符 | 例子 | 等同于 | 试一试 |
|---|---|---|---|
| = | x = 5 | x = 5 | 试一试 |
| += | x += 3 | x = x + 3 | 试一试 |
| -= | x -= 3 | x = x - 3 | 试一试 |
| *= | x *= 3 | x = x * 3 | 试一试 |
| /= | x /= 3 | x = x / 3 | 试一试 |
| %= | x %= 3 | x = x % 3 | 试一试 |
| &= | x &= 3 | x = x & 3 | 试一试 |
| |= | x |= 3 | x = x | 3 | 试一试 |
| ^= | x ^= 3 | x = x ^ 3 | 试一试 |
| >>= | x >>= 3 | x = x >> 3 | 试一试 |
| <<= | x <<= 3 | x = x << 3 | 试一试 |
比较运算符
比较运算符用于比较两个值。
注意:比较运算符的返回值要么是 true(1),要么是 false(0)。
在下面的例子中,我们使用大于运算符 (>) 来判断 5 是否大于 3:
实例
package main
import ("fmt")
func main() {
var x = 5
var y = 3
fmt.Println(x>y) // 返回 1(真),因为 5 大于 3
}
所有比较运算符的列表:
| 运算符 | 名称 | 例子 | 试一试 |
|---|---|---|---|
| == | 等于 | x == y | 试一试 |
| != | 不等于 | x != y | 试一试 |
| > | 大于 | x > y | 试一试 |
| < | 小于 | x < y | 试一试 |
| >= | 大于或等于 | x >= y | 试一试 |
| <= | 小于或等于 | x <= y | 试一试 |
提示:您将在 Go 条件 章节中了解有关比较运算符以及如何使用它们的更多信息。
逻辑运算符
逻辑运算符用于确定变量或值之间的逻辑关系:
| 运算符 | 名称 | 描述 | 例子 | 试一试 |
|---|---|---|---|---|
| && | 逻辑与 | 如果两条语句都为真,则返回 true。 | x < 5 && x < 10 | 试一试 |
| || | 逻辑或 | 如果其中一条语句为真,则返回 true。 | x < 5 || x < 4 | 试一试 |
| ! | 逻辑非 | 将结果取反,如果结果为真,则返回 false。 | !(x < 5 && x < 10) | 试一试 |
位运算符
位运算符用于(二进制)数字:
| 运算符 | 名称 | 描述 | 例子 | 试一试 |
|---|---|---|---|---|
| & | AND | 如果两位均为 1,则将每位设置为 1。 | x & y | 试一试 |
| | | OR | 如果两位中有一位为 1,则将每位设置为 1。 | x | y | 试一试 |
| ^ | XOR | 如果两位中只有一位为 1,则将每位设置为 1。 | x ^ b | 试一试 |
| << | 零填充左移 | 通过从右侧推入零来向左移动。 | x << 2 | 试一试 |
| >> | 有符号右移 | 通过从左侧推入最左侧位的副本来向右移动,并让最右侧的位脱落。 | x >> 2 | 试一试 |