與其他主要編程語?的差異:
&^ 按位置零
,右邊為 1 則本位置零,否則原樣輸出
```
1 &^ 0 -- 1
1 &^ 1 -- 0
0 &^ 1 -- 0
0 &^ 0 -- 0
```
## 算術運算符
~~~
a++
b--
% 求余數
~~~
> ++ -- 在go語言中是語句而不是表達式,表達式可以放在語句右邊,語句不能。
## 關系運算符
~~~
==
!=
> >=
< <=
~~~
## 邏輯運算符
~~~
&& # 與
|| # 或
! # 非
~~~
## 按位運算符
~~~
& # 按位與
| # 按位或
^ # 按位異或:對應為不同數值時,結果為1
<< # 左移,數學上相當于乘以2
>> # 右移,數學上相當于除以2
~~~
## 賦值運算符
~~~
= 直接賦值優先級最低
+= 相加后結果再賦值
-= 相減后結果再賦值
*+= 相乘后結果再賦值
/= 相除后結果再賦值
%= 取余后結果再賦值
<<= 左移后結果再賦值
>>= 右移后結果再賦值
&= 按位與后結果再賦值
^= 按位異或后結果再賦值
!= 按位或后結果再賦值
~~~
## 其他運算符
~~~go
& 取地址運算符,針對變量
* 取值運算符,針對指針
~~~
## 優先級 算數>關系>邏輯>賦值
```go
// 括號,結構體成員".",數組下標
// 單目運算符
// 邏輯運算符,邏輯非,取值,取地址,自增自減
// 雙目運算符
乘除 * / %
加減 + -
關系 == != > <
邏輯 && ||
賦值 == += -=
```