算数运算符
加减乘除+-*/ 求余%
自加自减 ++ -- (注:go语言中++ 和--运算符不能够参与表达式运算,只能在一条的表达式执行,同时不支持++c以及--c这样的写法)
关系运算符 (结果是布尔类型的true和false)
大于小于等于不等于 > < == !=
大于等于 小于等于 >= <=
逻辑运算符 (操作数必须是布尔类型,结果也是布尔类型)
逻辑与 &&
逻辑或 ||
逻辑非 !
位运算符
按位与 &
按位或 |
异或和按位取反^:go语言在异或和按位取反上使用的是同一个运算符,在二元操作时表示的是异或(相异得1相同得0),而在一元操作时表示的就是按位取反 如a^b 以及 ^a
位清空&^:对于a &^ b,对于b上的每一个位,如果为0则取a对应位上的数值,如果为1则结果位就取0
左移 <<
右移 >>
赋值运算符
赋值 =
相加并赋值 +=
相减并赋值 -=
相乘并赋值 *=
相除并赋值 /=
同上规律 还有以下赋值运算符 %= <<= >>= &= |=
运算符的优先级
优先级 | 运算符 |
---|---|
7 | ~ ! ++ -- |
6 | * / % << >> & &^ |
5 | + - ^ |
4 | == != < <= > >= |
3 | <- |
2 | && |
1 | || |
由上至下优先级由高到低,可以使用括号来提升某个表达式的优先级