跳到主要内容

运算符

算术运算符

运算符描述
+加法、字符串拼接
-减法
*乘法
/除法
%取余, 仅整数
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)
}