运算符是程序中用于执行各种操作的符号,它们能够进行数学计算、逻辑判断、位操作等。Go 语言支持各种常见的运算符,包括算术运算符、关系运算符、逻辑运算符等。
📖 目录
1. 算术运算符
算术运算符用于执行数学运算,Go 语言提供了基本的算术运算符来进行加、减、乘、除等操作。
运算符 | 描述 | 示例 |
---|---|---|
+ | 加法 | a + b |
- | 减法 | a - b |
* | 乘法 | a * b |
/ | 除法 | a / b |
% | 取余(模) | a % b |
示例:
package main
import "fmt"
func main() {
a, b := 10, 3
fmt.Println(a + b) // 输出: 13
fmt.Println(a - b) // 输出: 7
fmt.Println(a * b) // 输出: 30
fmt.Println(a / b) // 输出: 3
fmt.Println(a % b) // 输出: 1
}
2. 关系运算符
关系运算符用于比较两个值,结果为布尔值 true
或 false
。这些运算符用于判断关系,例如大于、小于等。
运算符 | 描述 | 示例 |
---|---|---|
== | 等于 | a == b |
!= | 不等于 | a != b |
> | 大于 | a > b |
< | 小于 | a < b |
>= | 大于等于 | a >= b |
<= | 小于等于 | a <= b |
示例:
package main
import "fmt"
func main() {
a, b := 10, 3
fmt.Println(a == b) // 输出: false
fmt.Println(a != b) // 输出: true
fmt.Println(a > b) // 输出: true
fmt.Println(a < b) // 输出: false
fmt.Println(a >= b) // 输出: true
fmt.Println(a <= b) // 输出: false
}
3. 逻辑运算符
逻辑运算符用于连接多个布尔表达式,常用于条件判断。
运算符 | 描述 | 示例 |
---|---|---|
&& | 逻辑与(AND) | a && b |
` | ` | |
! | 逻辑非(NOT) | !a |
示例:
package main
import "fmt"
func main() {
a, b := true, false
fmt.Println(a && b) // 输出: false
fmt.Println(a || b) // 输出: true
fmt.Println(!a) // 输出: false
}
4. 赋值运算符
赋值运算符用于将值赋给变量。在 Go 语言中,除了基本的赋值运算符,还支持多种复合赋值运算符。
运算符 | 描述 | 示例 |
---|---|---|
= | 赋值 | a = b |
+= | 加法赋值 | a += b |
-= | 减法赋值 | a -= b |
*= | 乘法赋值 | a *= b |
/= | 除法赋值 | a /= b |
%= | 取余赋值 | a %= b |
示例:
package main
import "fmt"
func main() {
a, b := 10, 3
a += b // a = a + b
fmt.Println(a) // 输出: 13
a -= b // a = a - b
fmt.Println(a) // 输出: 10
a *= b // a = a * b
fmt.Println(a) // 输出: 30
a /= b // a = a / b
fmt.Println(a) // 输出: 10
a %= b // a = a % b
fmt.Println(a) // 输出: 1
}
5. 位运算符
位运算符用于对整数的二进制位进行操作。Go 语言支持基本的位运算符,包括与、或、异或、左移和右移。
运算符 | 描述 | 示例 |
---|---|---|
& | 位与 | a & b |
` | ` | 位或 |
^ | 位异或 | a ^ b |
<< | 左移 | a << b |
>> | 右移 | a >> b |
示例:
package main
import "fmt"
func main() {
a, b := 5, 3 // 5: 101, 3: 011
fmt.Println(a & b) // 输出: 1 (101 & 011 = 001)
fmt.Println(a | b) // 输出: 7 (101 | 011 = 111)
fmt.Println(a ^ b) // 输出: 6 (101 ^ 011 = 110)
fmt.Println(a << 1) // 输出: 10 (5 左移 1 位 -> 1010)
fmt.Println(a >> 1) // 输出: 2 (5 右移 1 位 -> 010)
}
6. 其他运算符
除了上面介绍的基本运算符,Go 语言还提供了一些其他的运算符,如增量与减量运算符、选择运算符等。
6.1 增量和减量运算符
Go 不支持像 ++
和 --
运算符那样的前缀或后缀操作,增量和减量运算符仅在独立语句中有效。
运算符 | 描述 | 示例 |
---|---|---|
++ | 自增 | a++ |
-- | 自减 | a-- |
示例:
package main
import "fmt"
func main() {
a := 5
a++ // 自增
fmt.Println(a) // 输出: 6
a-- // 自减
fmt.Println(a) // 输出: 5
}
6.2 空白标识符(_
)
空白标识符用于忽略某个返回值或变量。它常用于忽略函数的返回值,避免编译器报错。
示例:
package main
import "fmt"
func getData() (int, int) {
return 1, 2
}
func main() {
_, b := getData() // 忽略第一个返回值
fmt.Println(b) // 输出: 2
}
7. 参考资料
Go 语言的运算符涵盖了数学计算、逻辑判断、位操作等多个方面。掌握这些运算符能够帮助开发者在编写 Go 程序时高效地处理各种计算和逻辑问题。
发表回复