运算符
算术运算符
| 运算符 | 描述 |
|---|---|
+ | 加法、字符串拼接 |
- | 减法 |
* | 乘法 |
/ | 除法 |
% | 取余, 仅整数 |
func main() {
println(7 / 2) // 整数除法结果为 3
println(7 % 2) // 整数取余结果为 1
println("go" + "lang") // 字符串拼接
}
比较运算符
可比较和不可比较类型
- 比较结果: bool;
- 可比较类型: bool、number、string、pointer、channel、interface、可比较元素组成的 array 和 struct;
- 不可比较类型: slice、map、function;
运算符表
| 运算符 | 描述 |
|---|---|
== | 相等 |
!= | 不相等 |
< | 小于 |
<= | 小于等于 |
> | 大于 |
>= | 大于等于 |
逻辑运算符
func main() {
a := true
b := false
println(a && b) // 逻辑与
println(a || b) // 逻辑或
println(!a) // 逻辑非
}
位运算符
运算符表
| 运算符 | 描述 |
| ------ | ---------------------- | ------ |
| & | 按位与 |
| | | 按位或 |
| ^ | 按位异或或一元按位取反 |
| &^ | 按位清除 |
| << | 左移 |
| >> | 右移 |
func main() {
var flags uint = 0b1010
println(flags & 0b0010) // 按位与
println(flags &^ 0b1000) // 清除指定二进制位, 结果为 0b0010
}
赋值运算符
func main() {
n := 1
n += 2 // 等价于 n = n + 2
n <<= 1 // 等价于 n = n << 1
println(n)
}