- 算術運算符
- 關系運算符
- 邏輯運算符
- 位運算符
- 指派運算符
算術運算符
運算符 | 描述 |
---|---|
| 加 |
| 減 |
| 乘 |
| 除 |
| 取餘 |
++
和
--
是單獨的語句,并不是運算符
示例
package main
import "fmt"
func main() {
a := 2
b := 5
r := a + b
fmt.Printf("r: %v\n", r)
// r: 7
r = b - a
fmt.Printf("r: %v\n", r)
// r: 3
r = a * b
fmt.Printf("r: %v\n", r)
// r: 10
r = b / a
fmt.Printf("r: %v\n", r)
// r: 2
r = b % a
fmt.Printf("r: %v\n", r)
// r: 1
a++
fmt.Printf("a: %v\n", a)
// a: 3
a--
fmt.Printf("a: %v\n", a)
// a: 2
}
關系運算符
運算符 | 描述 |
---|---|
| 相等 |
| 不相等 |
| 大于 |
| 大于等于 |
| 小于 |
| 小于等于 |
示例
package main
import (
"fmt"
)
func main() {
a := 1
b := 2
fmt.Printf("%v\n", a == b)
// false
fmt.Printf("%v\n", a > b)
// false
fmt.Printf("%v\n", a >= b)
// false
fmt.Printf("%v\n", a < b)
// true
fmt.Printf("%v\n", a <= b)
// true
fmt.Printf("%v\n", a != b)
// true
}
邏輯運算符
運算符 | 描述 |
---|---|
| 邏輯與 |
| 邏輯或 |
| 邏輯非 |
package main
import (
"fmt"
)
func main() {
a := true
b := false
fmt.Printf("%v\n", a && b)
// false
fmt.Printf("%v\n", a || b)
// true
fmt.Printf("%v\n", !a)
// false
}
位運算符
運算符 | 描述 |
---|---|
| 按位與 |
| 按位或 |
| 按位異或 |
| 左移 |
| 右移 |
package main
import (
"fmt"
)
func main() {
a := 4
b := 8
fmt.Printf("a: %b\n", a)
// a: 100
fmt.Printf("b: %b\n", b)
// b: 1000
r := a & b
fmt.Printf("r: %v\n", r)
// r: 0
r = a | b
fmt.Printf("r: %v\n", r)
// r: 12
r = a ^ b
fmt.Printf("r: %v\n", r)
// r: 12
r = a << 2
fmt.Printf("r: %v\n", r)
// r: 16
r = a >> 2
fmt.Printf("r: %v\n", r)
// r: 1
}
指派運算符
運算符 | 描述 |
---|---|
| 指派(右邊的值指派給左邊變量) |
| 相加後指派 |
| 相減後指派 |
| 相乘後指派 |
| 相除後指派 |
| 取餘後指派 |
| 左移後指派 |
| 右移後指派 |
| 按位與後指派 |
| 按位或後指派 |
| 按位異或後指派 |
package main
import (
"fmt"
)
func main() {
a := 1
a += 1 // 等價于 a = a + 1
fmt.Printf("a: %v\n", a)
// a: 2
}