运算符
算术运算符
go
package main
import "fmt"
func main() {
a := 10
b := 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
// 自增自减
a++ // a = a + 1
a-- // a = a - 1
}运算符列表
| 运算符 | 描述 | 示例 |
|---|---|---|
+ | 加法 | a + b |
- | 减法 | a - b |
* | 乘法 | a * b |
/ | 除法 | a / b |
% | 取余 | a % b |
++ | 自增 | a++ |
-- | 自减 | a-- |
比较运算符
go
package main
import "fmt"
func main() {
a := 10
b := 20
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
}运算符列表
| 运算符 | 描述 | 示例 |
|---|---|---|
== | 相等 | a == b |
!= | 不等 | a != b |
< | 小于 | a < b |
> | 大于 | a > b |
<= | 小于等于 | a <= b |
>= | 大于等于 | a >= b |
逻辑运算符
go
package main
import "fmt"
func main() {
a := true
b := false
fmt.Println(a && b) // 与: false
fmt.Println(a || b) // 或: true
fmt.Println(!a) // 非: false
}运算符列表
| 运算符 | 描述 | 示例 |
|---|---|---|
&& | 逻辑与(两边都为true才为true) | a && b |
|| | 逻辑或(一边为true即为true) | a || b |
! | 逻辑非(取反) | !a |
位运算符
go
package main
import "fmt"
func main() {
a := 60 // 二进制: 0011 1100
b := 13 // 二进制: 0000 1101
fmt.Printf("a & b = %d\n", a&b) // 按位与: 12
fmt.Printf("a | b = %d\n", a|b) // 按位或: 61
fmt.Printf("a ^ b = %d\n", a^b) // 按位异或: 49
fmt.Printf("a << 2 = %d\n", a<<2) // 左移: 240
fmt.Printf("a >> 2 = %d\n", a>>2) // 右移: 15
}运算符列表
| 运算符 | 描述 | 示例 |
|---|---|---|
& | 按位与 | a & b |
| | 按位或 | a | b |
^ | 按位异或 | a ^ b |
<< | 左移 | a << n |
>> | 右移 | a >> n |
赋值运算符
go
package main
import "fmt"
func main() {
a := 10
a += 5 // a = a + 5 -> 15
a -= 3 // a = a - 3 -> 12
a *= 2 // a = a * 2 -> 24
a /= 4 // a = a / 4 -> 6
a %= 4 // a = a % 4 -> 2
fmt.Println(a) // 2
}运算符列表
| 运算符 | 描述 | 等价于 |
|---|---|---|
= | 赋值 | a = b |
+= | 加后赋值 | a = a + b |
-= | 减后赋值 | a = a - b |
*= | 乘后赋值 | a = a * b |
/= | 除后赋值 | a = a / b |
%= | 取余后赋值 | a = a % b |
&= | 按位与后赋值 | a = a & b |
|= | 按位或后赋值 | a = a | b |
^= | 按位异或后赋值 | a = a ^ b |
运算符优先级
从高到低:
| 优先级 | 运算符 |
|---|---|
| 1 | * / % << >> & &^ |
| 2 | + - | ^ |
| 3 | == != < <= > >= |
| 4 | && |
| 5 | || |
建议
使用括号 () 明确优先级,使代码更易读。