7.运算符

予早 2024-12-11 00:27:38
Categories: Tags:

运算符

运算符一览

算术运算符 赋值运算符 关系运算符 逻辑运算符 位运算符 取地址符 取数据符
+ = == &,按位与 & *
- += != &&,短路与 |,按位或
* -= > ~,按位非(按位取反)
/ *= < ||,短路或 ^,按位异或
% /= >= !,逻辑非 <<
++ %= <= >>
-- &=,按位与赋值
|=
^=
~=
<<=
>>=

注意:

  1. Go无?;三目条件运算符
  2. 位运算符分为位逻辑运算符和位移运算符两类
  3. Go的自增自减均为后自增自减形式,但实际作用是前自增自减,且不能以a := b++的形式使用

运算符优先级

Go语言运算符优先级和结合性一览表

优先级 分类 运算符 结合性
1 逗号运算符 , 从左到右
2 赋值运算符 =、+=、-=、*=、/=、%=、&=、|=、^=、<<=、>>= 从右到左
3 逻辑或 || 从左到右
4 逻辑与 && 从左到右
5 按位或 | 从左到右
6 按位异或 ^ 从左到右
7 按位与 & 从左到右
8 相等/不等 ==、!= 从左到右
9 关系运算符 <、<=、>、>= 从左到右
10 位移运算符 <<、>> 从左到右
11 加法/减法 +、- 从左到右
12 乘法/除法/取余 *(乘号)、/、% 从左到右
13 单目运算符 !、*(指针)、&、++、–、+(正号)、-(负号) 从右到左
14 后缀运算符 ()、[]、-> 从左到右