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 试一试