GO語言的運算子和運算子優先順序

2021-09-26 15:50:40 字數 1328 閱讀 4168

go語言中的運算子分為算數運算子、關係運算子、邏輯運算子、位運算子、賦值運算子和其他運算子六大類。

算術運算子

運算子描述+

相加-相減*

相乘/相除%

取餘++

遞增- -

遞減關係運算子

運算子描述==

判斷兩個值是否相等

!=判斷兩個值是否不相等

>

判斷左邊值是否大於右邊值

<

判斷左邊值是否小於右邊值

>=

判斷左邊值是否大於等於右邊值

<=

判斷左邊值是否小於等於右邊值

注:以上條件若成立返回true,不成立返回false

邏輯運算子

運算子描述&&

與運算子,即and運算

||或運算子,即or運算

!非運算子,即not運算

位運算子

運算子描述&

二進位與,將進行運算的兩個值進行二進位相與運算

|二進位或,將進行運算的兩個值進行二進位的相或運算

^二進位異或,將進行運算的兩個值進行二進位的異或運算

<<

左移運算,左移n位就是乘以2的n次方,高位丟棄,低位補0

<<

右移運算,右移n位就是除以2的n次方

注:以上位運算子都是雙目運算子

賦值運算子

運算子描述=

將右值賦值給左值

+=相加後再賦值

-=相減後再賦值

*=相乘後再賦值

/=相除後再賦值

%=取餘後再賦值

<<=

左移後再賦值

>>=

右移後再賦值

&=按位與後再賦值

|=按位或後再賦值

^=按位異或後再賦值

其他運算子

運算子描述示例

&返回變數記憶體位址

&name 將返回name變數的實際記憶體位址

*指標變數

*name 變數name是乙個指標變數

基於本人習慣,數字越大優先順序越低(由上至下代表優先順序由低到高),如下表所示:

優先順序運算子1||

2&&3<-

4== , != , < , <= , >= , >

5+ , - , | , ^

6* , / , % , << , >> , & , &^

7^ !

注:當然可採用"()"來提高運算子的優先順序

運算子優先順序 C 運算子優先順序

c 運算子優先順序 優先順序運算子 描述方向1 scope resolution 範圍解析 left to right 2 suffix postfix increment and decrement 字首 字尾遞增和遞減 function call 函式呼叫 array subscripting ...

運算子優先順序 Python 運算子優先順序

python 運算子優先順序 運算子描述 lambda lambda表示式 or布林 或 and布林 與 not x 布林 非 in,not in 成員測試 is,is not 同一性測試 比較 按位或 按位異或 按位與 移位 加法與減法 乘法 除法與取餘 x,x 正負號 x 按位翻轉 指數 x.a...

運算子優先順序 PHP運算子優先順序

php運算子優先順序 結合方向 運算子附加資訊 非結合clone new clone 和 new左 array 非結合 遞增 遞減運算子 非結合 int float string array object bool 型別非結合 instanceof 型別右結合 邏輯操作符 左 算術運算子 左 算術運...